个人对JSON的理解

JSON:JavaScript Object Notation(JavaScript对象表示法)

JSON是存储和交换文本信息的语法。类似XML。

JSON比XML更小、更快、更容易解析。


1、语法

    JSON语法是JavaScript对象表示语法的子集。    

        1)、数据在名称/值对中

        2)、数据由逗号分隔

        3)、大括号保存对象

        4)、中括号保存数组

    JSON的语法可以表示以下三种类型的值。

        1)、简单值:可以再JSON中表示字符串、数值、布尔值和null。但是不支持undefined。(JSON字符串必须使用双引号)

5  //JSON表示数值5
"Hello world"  //JSON字符串

        2)、对象:表示的是一组无序的键值对儿。(JSON中对象的属性名任何时候都必须加双引号)

{
    "name":"LuckyFBB",
    "age":18,
    "school":{//在对象之中嵌入对象
        "name":"College",
        "location":"China"
    }
}

            用for-in来循环对象属性

var info={
    "name":"LuckyFBB",
    "age":18,
    "city":"Chong qing"
}
for(x in info){
    alert(x+":"+info[x]);//x为属性,info[x]为属性值
}

        3)、数组:表示的是一组有序的是的列表。

[
    {
        "name":"LuckyFBB",
        "age":18,
        "school":{//在对象之中嵌入对象
            "name":"College",
            "location":"China"
        }
    },
    {
        "name":"FBB",
        "age":18,
        "school":{//在对象之中嵌入对象
            "name":"College",
            "location":"China"
        }
    },
    {
        "name":"Lucky",
        "age":18,
        "school":{//在对象之中嵌入对象
            "name":"College",
            "location":"China"
        }
    }
]

2、解析与序列化

    JSON之所以流行拥有与JavaScript类似的语法并不是全部原因。更重要的一个原因是,可以把JSON数据结构解析为有用的JavaScript对象。与XML数据结构要解析成DOM文档而且从中提取数据极为麻烦相比,JSON可以解析为JavaScript对象的优势极其明显。

    JSON对象有两个方法:stringify()和parse()。在最简单的情况下,这两个方法分别用于把JavaScript对象序列化为JSON字符串和把JSON字符串解析为原生JavaScript值。

var info={
    "name":"LuckyFBB",
    "age":18,
    "city":"Chong qing"
}
var infoText=JSON.stringify(info);//"{"name":"LuckyFBB","age":18",city":"Chong qing"}"
var infoCopy=JSON.parse(infoText);//Object {name: "LuckyFBB", age: 18, city: "Chong qing"}

    stringify()可以 接受两个参数,第一个参数是个过滤器(可以数组也可以是函数),第二个参数是一个选项,表示JSON字符串中保留缩进。

    数组:

var info={
    "name":"LuckyFBB",
    "age":18,
    "city":"Chong qing"
}
var infoText=JSON.stringify(info,["name","age"];


本人正在学习和摸索中,如有错误,欢迎指正!

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值