json格式如何书写?json基础结构是怎样的?

阳光 2022-03-23 16:52:12 java常见问答 7638

json是一种数据交互格式。它非常便于编程人员对数据的处理,也便于机器对数据的解析和生成,应用非常广泛。那 json格式如何书写?下面来我们就来给大家讲解一下。

json书写格式:

1.数组方式 [ ]

[{
"id" : 1 ,
"name" : "xiaoming"
},{
"id" : 2 ,
"name" : "xiaohong"
}]

2.对象方式 { }

前后端分离,推荐后端返回给前端数据格式

{
"status" : 0 , //执行状态码
"msg" : "SUCCESS", //说明文字信息,没有为NULL
"data" :[{ //对象中嵌套数组,数组是返回的数据,
"id" : 1 ,
"name" : "xiaohong"
},{
"id" : 2,
"name" : "xiaoming"
}]
}

json基础结构是怎样的?

JSON结构共有2种:

1. 对象结构;

2. 数组结构;

对象结构

对象结构是使用大括号“{}”括起来的,大括号内是由0个或多个用英文逗号分隔的“关键字:值”对(key:value)构成的。

语法:

var jsonObj = {
    "键名1": 值1
    , "键名2": 值2,
    ……
    "键名n": 值n
}

说明:

jsonObj指的是json对象。对象结构是以“{”开始,到“}”结束。其中“键名”和“值”之间用英文冒号构成对,两个“键名:值”之间用英文逗号分隔。

注意,这里的键名是字符串,但是值可以是数值、字符串、对象、数组或逻辑true和false。

JSON数组结构

JSON数组结构是用中括号“[]”括起来,中括号内部由0个或多个以英文逗号“,”分隔的值列表组成。

语法:

var arr = [
    
    {
        "键名1": 值1
        , "键名2": 值2
},
    
    {
        "键名3": 值3
        , "键名4": 值4
},
    
……
    
]

说明:

arr指的是json数组。数组结构是以“[”开始,到“]”结束,这一点跟JSON对象不同。在JSON数组中,每一对“{}”相当于一个JSON对象,大家看看像不像?而且语法都非常类似。

注意,这里的键名是字符串,但是值可以是数值、字符串、对象、数组或逻辑true和false。

对于JSON对象结构和JSON数组结构的读取、写入、修改、删除和遍历等操作请到相应章节认真查看。

代码片断1

代码如下:

{
    "button": [
        
        {
            "type": "click"
            , "name": "今日歌曲"
            , "key": "V1001_TODAY_MUSIC"
},
        
        {
            "type": "click"
            , "name": "歌手简介"
            , "key": "V1001_TODAY_SINGER"
},
        
        {
            "name": "菜单"
            , "sub_button": [
                
                {
                    "type": "view"
                    , "name": "搜索"
                    , "url": "http://www.soso.com/"
},
                
                {
                    "type": "view"
                    , "name": "视频"
                    , "url": "http://v.qq.com/"
},
                
                {
                    "type": "click"
                    , "name": "赞一下我们"
                    , "key": "V1001_GOOD"
}]
}]
}

然后用PHP的json_encode()函数,对一二维数组转换成JSON形式

但转换出来的JSON形式:

代码片断2

代码如下:

{
    "button":
    {
        "1":
        {
            "type": "click"
            , "name": "今日歌曲"
            , "key": "V1001_TODAY_MUSIC"
        }
        , "2":
        {
            "type": "click"
            , "name": "歌手简介"
            , "key": "V1001_TODAY_SINGER"
        }
        , "3":
        {
            "name": "菜单"
            , "sub_button": [
                
                {
                    "type": "view"
                    , "name": "搜索"
                    , "url": "http://www.soso.com/"
},
                
                {
                    "type": "view"
                    , "name": "视频"
                    , "url": "http://v.qq.com/"
},
                
                {
                    "type": "click"
                    , "name": "赞一下我们"
                    , "key": "V1001_GOOD"
}
                
]
        }
    }
}

看出来形式是不一致的。

只能来了解一下JSON的结构形式。

JSON有两种数据:1.无序的对象结构;2.有序的数组结构

1.无序的对象结构

无序的对象结构在不同语言中称法不同,比如在Python中称为字典,在JS中称为JSON对象……

总之就是键/值对组合形式。刚才我转换出来的JSON结构就是无序的键/值对组合.

2.有序的数组结构

有序的的数组结构,即代码片断2所展示的结构。

将数组作为有序数组进行转换JSON,就可以得到有序的JSON数组结构。

Json可用于可读的数据交换,它的使用适用范围还是比较广的,在很多种语言中都会使用到它,所以对于json的相关使用,我们只有熟悉多练才能更好地使用!最后大家如果想要了解更多json工具教程知识,敬请关注奇Q工具网。

推荐阅读:

java线程怎么获取返回值?java线程获取返回值方法

git客户端怎么删除分支?列出分支怎么弄?

java为什么会内存泄漏?java内存泄漏的原因及解决办法