2015-02-11 139 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" 
} 

什麼這些值代表將應用程序特定的。