所以我有这个字符串:
[{values: {"US" : "rgba(29, 79, 207, 1)"}},{values: {"NL" : "rgba(29, 79, 207, 1)"}}]
这个字符串为jvectormap设置颜色。关于这次活动的全部原因,我只向访问过的国家介绍。
它来自Javascript,我需要使用相同的格式,但在PHP中,我认为它与json编码有关,但我无法使其工作。。所以我想做的是在这个字符串中制作一个数组。。我该怎么做?
当我用PHP制作一个数组并将其编码为json时,结果是:[["NL","black"],["US","blue"]]
和这种格式当然不起作用。
您提供了无效的JSON。values
需要被引用才能成为"values"
,以便PHP对其进行解码。
<?php
$string = <<<JSON
[{"values": {"US" : "rgba(29, 79, 207, 1)"}},{"values": {"NL" : "rgba(29, 79, 207, 1)"}}]
JSON;
echo print_r( json_decode($string, true), true);
https://eval.in/199639
一个优秀的JSON检查器是http://json.parser.online.fr
然后你可以创建你的数组,就像;
$array = array (
0 =>
array (
'values' =>
array (
'US' => 'rgba(29, 79, 207, 1)',
),
),
1 =>
array (
'values' =>
array (
'NL' => 'rgba(29, 79, 207, 1)',
),
),
);
echo json_encode($array);
https://eval.in/199684