【问题标题】:JSON syntax confusionJSON 语法混乱
【发布时间】:2015-02-11 00:27:27
【问题描述】:

我正在使用一个 api 来检索 JSON 数据。我遇到了一种我不熟悉的数据类型,我想了解一下它的含义。

一个例子如下所示。

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

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

谁能解释一下他们的意思?

谢谢。

【问题讨论】:

  • friendsenemies 字段看起来像是 PHP 序列化的数组。
  • 以这种方式表示的数据是否不可能/难以通过 PHP 以外的任何方式读取?
  • 格式相当简单。您可以编写一个函数来非常轻松地解析字符串,前提是您对反序列化后的数据所代表的内容有所了解。
  • 请注意,这也不是有效的 JSON。在“朋友”字段的值之后、“敌人”标签之前应该有一个“,”。

标签: android ios json parsing


【解决方案1】:

这些字段包含已被 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"
} 

这些值所代表的内容将是特定于应用程序的。

【讨论】:

    【解决方案2】:

    friends的值是一个字符串,其值为:a:2:{i:0;s:1:"1";i:1;s:2:"15";}

    这个字符串代表什么取决于应用程序用它做什么

    【讨论】:

    • 我们在我工作的地方有一个短语:'陈述显而易见的'
    猜你喜欢
    • 2017-06-11
    • 2020-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-12
    相关资源
    最近更新 更多