3

我有一个包含 json 样式数据的大型 php 字符串,需要以某种方式将其转换为 json 对象。我的字符串如下所示:(它是一个大字符串)。字符串的语法并不完全是我在下面附上的,但这只是一个例子。我如何将下面的字符串像 $string 转换为 json 对象?谢谢。

$string = "
{
 \"name\": \"flare\",
 \"children\": [
  {
   \"name\": \"analytics\",
   \"children\": [
    {
     \"name\": \"cluster\",
     \"children\": [
      {\"name\": \"AgglomerativeCluster\", \"size\": 3938},
      {\"name\": \"CommunityStructure\", \"size\": 3812},
      {\"name\": \"HierarchicalCluster\", \"size\": 6714},
      {\"name\": \"MergeEdge\", \"size\": 743}
     ]
    }
    ]
  }
  ]
}
";
4

2 回答 2

3

用于json_decode()此:

$obj = json_decode($string);
var_dump($obj);

输出:

class stdClass#1 (2) {
  public $name =>
  string(5) "flare"
  public $children =>
  array(1) {
    [0] =>
    class stdClass#2 (2) {
      public $name =>
      string(9) "analytics"
      public $children =>
      array(1) {
        ...
      }
    }
  }
}
于 2013-04-25T15:02:11.040 回答
2

没有 JSON object 这样的东西

你所拥有的是一个 JSON 文本,表示为 PHP 字符串文字。

如果要将其解析为 PHP 对象,请使用json_decode($string).

如果要将其解析为 JavaScript 对象,则必须以某种方式将字符串传递给 JavaScript。这可能涉及将其打印到对 HTTP 请求的响应中,将其传递给V8或其他一些技术,具体取决于您想用它实现什么。

于 2013-04-25T15:02:19.057 回答