zoukankan      html  css  js  c++  java
  • 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. 十六进制
  • 相关阅读:
    Silverlight的依赖属性与附加属性(五)
    Silverlight Behavior技术(三)
    JQuery EasyUI 简单的左右布局左边Tree右边区域打开tab右键菜单实现 Murray
    使用Areas分离ASP.NET MVC项目(前后台以及对应功能模块) Murray
    IDisposable 接口 Murray
    MVC3/4 自定义HtmlHelper截断文本内容 Murray
    30个最常用css选择器解析(经典) Murray
    asp.net 中使用 SqlBulkCopy 将一个目录下指定类型的数据文件导入到数据库 Murray
    EntityState 枚举的5中状态的变化 Murray
    IEnumerable<T> 接口主要成员 Murray
  • 原文地址:https://www.cnblogs.com/hnlmy/p/10637900.html
Copyright © 2011-2022 走看看