• 什么是JSON?


    一、JSON

    真正的json

    1. json数据,可以放在json文件中,也可以出现在编程语言中

      • 是一种文本数据,有专门的文件存储,.json文件
      • 类似于:记事本文件:.txt
      • 有固定的语法要求
    2. json是用来做什么的:通用数据

      • 是一种文本数据,用来作为服务器端和客户端数据交互时,存储数据
        • 客户端A:英语,中文,json
          • 说话:说什么?听不懂,得有一个通用语言:json
        • 服务端B:中文,中文,json
      • 是一种编程语言中的通用数据,任何一门编程语言,都能识别,都能解析,都认识

    编程语言中的json

    1. js中的json,类似于数组和对象,只不过还需要遵守json的要求,js中有提供json和数组对象的转换方法
      • 日常在js中,所谓的json数组,json对象,其实只是参考了json数据的名字,别名,起了个名字
      • 自身其实就是编程语言中的数组或对象
    2. php中的json,字符,只不过可以将php的数组和对象,通过一些方法转成json的格式
    3. 任何一门编程语言中,都提供有将自身的某些数据,转成json的方法

    真正的json的格式

    1. 必须是字符
      • 不允许使用双引号包裹,必须是单引号或反引号(json文件中不需要,json文件自身就是文本文件)
        • 如:
          • 在html文件中写css需要style标签,在css文件中不需要
          • 在html文件写js需要script标签,在js文件中不需要
    2. json的格式,类似于js中的对象和数组
    3. 键值对的key,必须使用双引号包裹
    4. 在json中不允许出现函数、undefined、NaN,可以出现null
    5. 不允许出现没有意义的逗号

    js对象和json的转换

    1. json字符转对象:这个字符就得符合json的格式
      • JSON.parse(str);
        • 需要注意json的规则
    2. 对象转json字符:这个对象只需要符合js中对象的规则即可
      • JSON.stringify(obj);
        • 需要注意js对象或数组的规则
        • 函数,undefined被忽略
        • NaN,被转成null

    js对象和json的转换场景

    1. 拿到后端传过来的json数据后,将json数据转成js对象,方便前端js处理

      var o = JSON.parse('{"name":null}');
      console.log(o);
      
    2. 如果需要将js对象传给后端使用,后端不能识别js对象,但可以识别json数据,需要将js对象转成json数据,发给后端

      var s = JSON.stringify({name:"admin"})
      console.log(s);
      
  • 相关阅读:
    Java实现二分图的最大权匹配
    Java实现二分图的最大权匹配
    Java实现二分图的最大权匹配
    Java实现二分图的最大权匹配
    Java实现二分图的最大权匹配
    Qt技术优势
    关于qtcreator+vs2008+CDB调试太卡的问题研究(载入符号表,以及VS调试器的注册表信息)
    用友的BS专用浏览器方案
    专访Rust——由Mozilla开发的系统编程语言(目标人群就是那些纠结的C++程序员,甚至也是他们自己)
    比较DirectX和OpenGL的区别(比较详细)
  • 原文地址:https://www.cnblogs.com/piaoyi1997/p/12954577.html
Copyright © 2020-2023  润新知