json格式化

来源:互联网 发布:淘宝统计工具 编辑:程序博客网 时间:2024/05/17 04:46

这里简单介绍一下Json格式

json是一种轻量化的数据格式,很适合网络间的数据传递。

说到底它就是键-值的存储思路,相信很多人都熟悉了。


和xml比起来,json的优势很明显:

除去一些格式符号,json不需要像xml那样加很多的重复的标签,需要传送的字节少了(在数据量一样的前提下)

缺点是可能不如项目了那么容易让人看懂,而且不好敲

json数据包含数组字面量和对象字面量,也可以混合数组对象字面量

1.数组字面量:

示例:

var json = ["hello", 1, true];

2.对象字面量:

var json = {"key1":"value1","key2":"value2"};

3.混合字面量:


json混合字面量示例格式

$jsonmenu = '{      "button":[      {            "name":"menu1",           "sub_button":[            {               "type":"click",               "name":"submenu1",               "key":"key1"            },            {               "type":"click",               "name":"submenu2",               "key":"key2"            },            {               "type":"click",               "name":"submenu3",               "key":"key3"            },            {               "type":"click",               "name":"submenu4",               "key":"key4"            },            {                "type":"view",                "name":"submenu5",                "url":"http://blog.csdn.net/joshuaxx316/article/details/44238319"            }]       },       {           "name":"menu2",           "sub_button":[            {               "type":"click",               "name":"submenu1",               "key":"key1"            },            {               "type":"click",               "name":"submenu2",               "key":"key2"            },            {                "type":"click",                "name":"submenu3",                "key":"key3"            }]       }] }';


这是一个格式化的json数据,里面包含一类数据“button”,button不止一项,包含两项,根据json的语法,实际上,json数据可以包含单类也可以包含多类,多类之间的项结构可以不一样。同时每一个子项又可以包含多项。

利用PHP编码和解析json的例子:

$c = array(array(1,2,3)); //json_encode将数据编码成json格式,编码非关联数组时,可以用数组字面项也可以选择对象字面项echo "<br>Non-associative array output as array: ", json_encode($c); echo "<br>Non-associative array output as object: ", json_encode($c, JSON_FORCE_OBJECT); $d = array('foo' => 'bar', 'baz' => 'long'); //json_encode将关联数组编码成json格式,可以用数组字面项自动选择对象字面项echo "<br>Associative array always output as object: ", json_encode($d);

输出结果是:

Non-associative array output as array: [[1,2,3]]Non-associative array output as object: {"0":{"0":1,"1":2,"2":3}}Associative array always output as object: {"foo":"bar","baz":"long"}


以上是本人的一点理解,有不对的地方希望各位童鞋能及时批评指正...^~^

一个非常实用的json格式化网站,还可以提供视图分析,和一些免费的api,http://www.bejson.com/

0 0