json stringify和json解码问题

时间:2015-07-29 22:21:03

标签: javascript php json

html

<input type="hidden" name="test[]" id="test" value= "" />

js

jQuery(document).on('click', '#target', function () {
    var jsArr = ["val1", "val2", "val3"];
    jQuery('input[name^="test[]"]').val(JSON.stringify(jsArr));

});

php

$json = $_POST['test'];
var_dump($json); 
//array(1) { [0]=> string(43) "[\"val1\",\"val2\",\"val3\"]" } 
var_dump($json[0]);
//string(43) "[\"val1\",\"val2\",\"val3\"]"
var_dump(json_decode($json[0]));
//return NULL

我的json字符串是一种有效的json格式,所以我不知道为什么它不起作用。任何的想法?

1 个答案:

答案 0 :(得分:4)

您正尝试在阵列上使用stringify。你不能。

它用于对象。因此,你应该这样做:

jQuery(document).on('click', '#target', function () {
    var jsObj = {
        val1: "val1", 
        val2: "val2", 
        val3: "val3"
    };

    jQuery('input[name^="test[]"]').val(JSON.stringify(jsObj));

});