数组到javascript字符串


Array to javascript string

所以我有这个字符串:

[{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