• JSON学习


    什么是JSON及JSON特点

    • JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
    • JSON 是轻量级的文本数据交换格式
    • JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。
    • JSON 具有自我描述性,更易理解
    • JSON 是纯文本
    • JSON 具有"自我描述性"(人类可读)
    • JSON 具有层级结构(值中存在值)
    • JSON 可通过 JavaScript 进行解析
    • JSON 数据可使用 AJAX 进行传输

    JSON的取值

    数字(整数或浮点数),字符串(在双引号中),逻辑值(true 或 false),数组(在中括号中),对象(在大括号中),null

    JSON表示

    数据在名称/值对中,数据由逗号分隔,大括号保存对象,中括号保存数组;名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值

    json在JavaScript中的表示
    var
    sites = [ { "name":"runoob" , "url":"www.runoob.com" }, { "name":"google" , "url":"www.google.com" }, { "name":"微博" , "url":"www.weibo.com" } ];

    因为大括号保存对象,中括号保存数组,所以sites是一个json数组,有三个json对象

    通过 sites[2].name,访问到的就是  微博;sites[2].url,访问到的就是 www.weibo.com;通过sites[2].name="DH",修改微博为DH

    JSON对象

    JSON 对象使用在大括号{ }中书写

    var myObj = { "name":"runoob", "alexa":10000, "site":null }

    循环对象

    for (x in myObj) {
        document.getElementById("demo").innerHTML += x + "<br>";      //这里循环的是myObj的属性名,name,alexa,site
    }
    for (x in myObj) {
        document.getElementById("demo").innerHTML += myObj[x] + "<br>";  //这里是访问的是myObj的属性值,runoob,10000,null
    }

    JSON数组

    JSON 数组在中括号中[ ]书写。

    数组作为JSON对象

    [ "Google", "Runoob", "Taobao" ]

    JSON对象中的数组

    {
        "name":"网站",
        "num":3,
        "sites":[ "Google", "Runoob", "Taobao" ]
    }

    用 for-in 来访问数组:

    for (i in myObj.sites) {
        x += myObj.sites[i] + "<br>";
    }

     例子https://www.runoob.com/try/try.php?filename=tryjson_objectarray尝试对JSON对象和数组进行for-in循环使用

    JSON.parse()

    JSON 通常用于与服务端交换数据。

    接收服务器数据时一般是字符串。

    我们可以使用 JSON.parse() 方法将数据转换为 JavaScript 对象。

    例:就像上一条随笔里面getOne.html中的这句话,var json=JSON.parse(data); //将获得的Json对象转换为 JavaScript 对象

    JSON.stringify()

    JSON 通常用于与服务端交换数据。

    向服务器发送数据时一般是字符串。

    我们可以使用 JSON.stringify() 方法将 JavaScript 对象转换为字符串。

    例:就像上一条随笔里面submit.html中的这句话,用post请求表示ajax的传输数据  {"data":JSON.stringify(hero)},//提交的数据是把上面的hero转化为json格式的字符串

    
    
  • 相关阅读:
    从 0 开始带你成为消息中间件实战高手
    jenkins升级2.249版本后 节点(Node)配置的启动方式中没有Launch agent via Java Web Star
    Gradle build daemon disappeared unexpectedly (it may have been killed or may have crashed)
    centOS7 gradle版本升级
    使用PDB调试Python程序
    pytest在控制台的方式下提示找不到包
    docker-compose文件详解
    storm案例分析
    strom 简单案例
    springboot实现读写分离
  • 原文地址:https://www.cnblogs.com/dong973711/p/10921736.html
Copyright © 2020-2023  润新知