zoukankan      html  css  js  c++  java
  • 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格式的字符串

    
    
  • 相关阅读:
    怎样搭建PHP开发环境
    求教Sublime Text2 SublimeLinter插件安装问题
    借助 SublimeLinter 编写高质量的 JavaScript & CSS 代码
    sublime 支持php语法错误提示的插件
    sublime text 2 配置php调试环境
    解决file_get_contents无法请求https连接的方法
    JavaSE(六)包装类、基本类型和字符串之间的转换、==和equals的区别
    JavaSE(五)JAVA对象向上转型和向下转型
    JavaSE(四)之接口、访问控制
    JavaSE(二)之继承、封装、多态
  • 原文地址:https://www.cnblogs.com/dong973711/p/10921736.html
Copyright © 2011-2022 走看看