如何从php字符串创建JSON对象?

时间:2013-04-25 15:00:25

标签: php string json

我有一个包含json样式数据的大型php字符串,需要以某种方式将其转换为json对象。我的字符串如下所示:(它是一个大字符串)。字符串的语法不完全是我在下面附加的,但它只是一个例子。我如何将下面的字符串lik $ 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}
     ]
    }
    ]
  }
  ]
}
";

2 个答案:

答案 0 :(得分: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) {
        ...
      }
    }
  }
}

答案 1 :(得分:2)

There's no such thing as a JSON object

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

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

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