JSON运用——PHP中使用json数据格式定义字面量对象的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSON运用——PHP中使用json数据格式定义字面量对象的方法相关的知识,希望对你有一定的参考价值。

目前,在php中是不支持字面量命名法。

前端的小伙伴都知道,在JS中用字面量定义一个对象的方法可以如下:

var o = { \'name\' : \'Tom\' , \'url\' : \'www.baidu.com\' };
alert(o.name);

但在PHP中这么定义对象:

$o = { "name" : "Tom", "url" : "www.baidu.com"  };

则会报错

Parse error: syntax error, unexpected \'{\' in D:\\server\\htdocs\\xm\\data\\04_product_select.php on line 9

所以在需要用到JSON时,可以用尽量尝试PHP的数组的形式,而少使用对象的形式,可以更简单且直观(目前本人的观点,或许不够客观,望斧正)。再用json_enconde($arr),进行JSON格式编码,方法如下

$arr = [
      \'name\' => \'Tom\',
      \'age\'  => 20      
];
$json = json_encode($arr);

当需要定义多对象数组的时候可以写成如下方式:

$stuArray[] = [
\'name\'=>\'Lucy\',
\'age\'=>30
];

$stuArray[] = [
\'name\'=>\'Mary\',
\'age\'=>20
];

$stuArray[] = [
\'name\'=>\'Lily\',
\'age\'=>32
];

 

本人在查阅阮一峰老师的博客文章在PHP语言中使用JSON时,看到阮老师所说的“javascript不支持关联数组”(详见下图),自己不是很认同,但未找到资料反驳他,或反驳自己,所以在此贴出截图,希望日后能自己解决,也希望各位能指点一二,不胜感激!

不过最后说的:json_enconde()只将索引数组(indexed array)转换为数组格式,而将关联数组(associative array)转为对象格式。还是应该牢记此特性!

 

以上是关于JSON运用——PHP中使用json数据格式定义字面量对象的方法的主要内容,如果未能解决你的问题,请参考以下文章

如何正确运用PHP json

「GIS基础」JSON数据格式在GIS领域的运用

json schema实际运用

json schema实际运用

json schema实际运用

字定义JSON序列化支持datetime格式序列化