json

 

什么是json

  • JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
  • JSON 是轻量级的文本数据交换格式
  • JSON 独立于语言 *
  • JSON 具有自我描述性,更易理解

* JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。

Python中:

json.dumps()就是将其他的数据类型格式转化为json格式的字符串(序列化)
json.loads()就是将json格式的字符串转化为其他的数据类型格式(反序列化)

JavaScript中:

json.stringify()就是将其他数据类型格式转化为json格式的字符串(序列化)
json.parse()就是将json格式的字符串转化为其他数据类型格式(反序列化)

合格的json对象:

["one", "two", "three"]
{ "one": 1, "two": 2, "three": 3 }
{"names": ["张三", "李四"] }
[ { "name": "张三"}, {"name": "李四"} ] 

不合格的json对象:

复制代码
{ name: "张三", 'age': 32 }  // 属性名必须使用双引号
[32, 64, 128, 0xFFF] // 不能使用十六进制值
{ "name": "张三", "age": undefined }  // 不能使用undefined
{ "name": "张三",
  "birthday": new Date('Fri, 26 Aug 2011 07:13:10 GMT'),
  "getName":  function() {return this.name;}  // 不能使用函数和日期对象
}
复制代码

stringify与parse方法

JavaScript中关于JSON对象和字符串转换的两个方法:

JSON.parse(): 用于将一个 JSON 字符串转换为 JavaScript 对象 

JSON.parse('{"name":"Q1mi"}');
JSON.parse('{name:"Q1mi"}') ;   // 错误
JSON.parse('[18,undefined]') ;   // 错误

JSON.stringify(): 用于将 JavaScript 值转换为 JSON 字符串。 

JSON.stringify({"name":"Q1mi"})

总结

        1. JSON是什么?
            一种数据格式,和语言无关的数据格式。
        2. Python里面转换
            1. Python对象  -->  字符串
                import json
                字符串 = json.dumps(对象)
            2. 字符串      -->  Python对象
                对象 = json.loads(字符串)
            3. 注意事项:
                Python中的字典要用双引号。
        3. JS里面转换
            1. JS对象   -->  字符串
                var s1 = JSON.stringify(对象)
            2. 字符串   -->  JS对象
                var obj = JSON.parse(字符串)
            3. 注意事项:
                1. JS里面不支持被JSON序列化的
                    1. undefined
                    2. 时间对象
                    3. 函数
                    4. 十六进制

 

posted @ 2019-04-01 17:56  hnlmy  阅读(183)  评论(0编辑  收藏  举报