如何在php或javascript数组ot json中添加qoutes

时间:2017-08-23 08:44:31

标签: javascript php arrays json

我有一个php数组,我json_encode在javascript中使用,但我需要其中一个在引号中。我不知道该怎么做。 这是我的php数组

Array
(
[0] => Array
    (
        [label] => 03
        [value] => 2
    )

[1] => Array
    (
        [label] => 05
        [value] => 2
    )

[2] => Array
    (
        [label] => 06
        [value] => 12
    )

[3] => Array
    (
        [label] => 07
        [value] => 12
    )

[4] => Array
    (
        [label] => 08
        [value] => 1
    )

)

继承人我的json_encode

[{"label":"03","value":2},
{"label":"05","value":2},
{"label":"06","value":12},
{"label":"07","value":12},
{"label":"08","value":1}]

我想要的是

[{"label":"03","value":"2"},
{"label":"05","value":"2"},
{"label":"06","value":"12"},
{"label":"07","value":"12"},
{"label":"08","value":"1"}]

2 个答案:

答案 0 :(得分:1)

使用foor循环迭代数组数组并将每个int转换为字符串。

for (int i = 0; i < firstArray.length; i++){
for (int j = 0; j < firstArray[i].length; j++){
    firstArray[i][j][1] = firstArray[i][j][1].toString();
}}

这可能适合你。

如果您严格知道在阵列中的每个项目中都有2个项目的json对象,您可以使用:

for (int i = 0; i < firstArray.length; i++){ firstArray[i][0][1] = firstArray[i][0][1].toString(); firstArray[i][1][1] = firstArray[i][1][1].toString(); }

答案 1 :(得分:0)

在你的php数组中你有:

[1] => Array
    (
        [label] => 05 (as string)
        [value] => 2 (as integer)
    )

json_encode检查此数组中的值的类型。根据json标准,整数可以不带引号存储。

你可以:

  • 将整数转换为字符串(在json_encode之前),

  • 或在php中使用array_map函数(在json_encode之前)

类似的东西:

$data = json_encode(array_map('strval', $data)); // all variables are now strings