zoukankan      html  css  js  c++  java
  • JSON基础

    什么是JSON?

       1.JSON是指JavaScript对象表示法(JavaScript Object Notation)

     2.JSONS是轻量级的文本数据交换格式 (全后端交互)

        3.JSON独立于语音 (是不是可也看成正则一样的东西,每一种语言都可也用)

     4.JSON具有自我描述性,更易理解

    几乎所有编程语言都解析JSON的库,而在JavaScript中,我们可以直接使用JSON,因为JavaScript内置了JSON的解析。把任何JavaScript对象变成JSON,就是把这个对象序列化成一个JSON格式的字符串,这样才能通过网络传递给其他计算机。

    如果我们收到一个JSON格式的字符串,只需要把它反序列化成一个JavaScrip对象,就可以在JavaScript中直接使用这个对象了.

    序列化

    var xiaoming = {
        name: '小明',
        age: 14,
        gender: true,
        height: 1.65,
        grade: null,
        'middle-school': '"W3C" Middle School',
        skills: ['JavaScript', 'Java', 'Python', 'Lisp']
    };
    
    
    
    var s = JSON.stringify(xiaoming);
    console.log(s);
    

    序列化

    拿到一个JSON格式的字符串,我们直接用JSON.parse()把它变成一个JavaScript对象:
    
    JSON.parse('[1,2,3,true]'); // [1, 2, 3, true]
    JSON.parse('{"name":"小明","age":14}'); // Object {name: '小明', age: 14}
    JSON.parse('true'); // true
    JSON.parse('123.45'); // 123.45
    

      Python中的json模块如何使用

    # -*- coding:utf-8 -*-
    
    import json
    
    s = '{"name": "小赵", "age": 18}'
    
    # 把字符串反序列化成python格式的数据
    strs = json.loads(s)
    print(strs, type(strs))
    
    # 把字典格式序列化成字符串
    strs1 = json.dumps(strs)
    print(strs1, type(strs1))
    
    
    {'age': 18, 'name': '小赵'} <class 'dict'>
    {"age": 18, "name": "u5c0fu8d75"} <class 'str'>
    

      注意:

    合格的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;}  // 不能使用函数和日期对象
    }
    

      总结:

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

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

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

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

    json.loads():用于将一个JSON字符串转换为字典

    json.dumps():用于将一个字典转换为一个JSON字符串

  • 相关阅读:
    ASP.NET Core API ---状态码
    ASP.NET Core ---日志
    UnitOfWork知多少 【转】
    ASP.NET Core 2.1 源码学习之 Options[3]:IOptionsMonitor 【转】
    ASP.NET Core 2.1 源码学习之 Options[2]:IOptions 【转】
    ASP.NET Core 2.1 源码学习之 Options[1]:Configure 【转】
    深入理解net core中的依赖注入、Singleton、Scoped、Transient(四)【转】
    sonarqube插件开发(三) 调试插件
    sonarqube插件开发(二) 开发插件
    sonarqube插件开发(一) 环境搭建
  • 原文地址:https://www.cnblogs.com/materfont/p/9566998.html
Copyright © 2011-2022 走看看