2015-02-11 161 views
0

我正在使用api检索JSON数据。我遇到了一个我不熟悉的数据类型,我希望能够深入了解它的含义。JSON语法混淆

一个例子如下所示。

{  
    "data":{ 
     "id":"92", 
     "name":"harry", 
     "friends":"a:2:{i:0;s:1:\"1\";i:1;s:2:\"15\";}" 
     "enemies":"a:0:{}" 
    }, 
    "error":false 
} 

我不确定如何解释“朋友”和“敌人”字段。我知道数组由[]和{}表示。

任何人都可以解释他们的意思吗?

谢谢。

+0

'friends'和'enemies'字段看起来像已经被PHP序列化的数组。 – 2015-02-11 00:32:01

+0

以这种方式表示的数据是不可能/难以通过PHP以外的其他方式读取的? – coldbuffet 2015-02-11 00:39:02

+0

格式非常简单。你可以编写一个函数来很容易地解析字符串,只要你有一些关于数据表示的信息,一旦你对它进行了非序列化。 – 2015-02-11 00:45:32

回答

-1

的朋友的值与值的字符串:一个:2:{I 0,S:1: “1”; I:1; S:2: “15”;}

什么此字符串表示取决于应用程序用它做什么

+0

我在这里工作的一个短语是:_'stating the obvious'_ – 2015-02-11 00:49:31

0

这些字段包含已由PHP序列化的数组。

例如

<?php 
    $friends = "a:2:{i:0;s:1:\"1\";i:1;s:2:\"15\";}"; 
    $arr = unserialize($friends); 
    var_dump($arr); 
?> 

array(2) { 
    [0]=> string(1) "1" 
    [1]=> string(2) "15" 
} 

什么这些值代表将应用程序特定的。