zoukankan      html  css  js  c++  java
  • JSON和JavaScript对象

    var obj={100,height:200},这样的并不叫JSON,并且JSON只是一种数据格式,并不是具体的实例。

    但很多人把这样的JS对象当成JSON,下面把这个问题讲清楚

    一、JSON是什么?(JSONJavaScript对象有什么区别?)如何把JS对象转化为JSON字符串?又如何把JSON字符串转化为JavaScript对象?

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,JSON格式的数据,主要是为了跨平台交流数据用的。

    但JSON和JavaScript确实存在渊源,可以说这种数据格式是从JavaScript对象中演变出来的,它是JavaScript的一个子集。JSON本身的意思就是JavaScript对象表示法(JavaScript Object Notation),它用严格的JavaScript对象表示法来表示结构化的数据。

    它是一种严格的js对象的格式,JSON的属性名必须有双引号,如果值是字符串,也必须是双引号;

    JSON只是一种数据格式(或者叫数据形式),数据格式其实就是一种规范,格式、形式、规范是不能用来存诸数据的。我们不能把以下的对象叫JSON,比如:

    <script>

    var obj2={};//这只是JS对象

    var obj3={100,height:200};/*这跟JSON就更不沾边了,只是JS的 对象 */

    var obj5={"width":100,"height":200,"name":"rose"}; /*我们可以把这个称做:JSON格式的JavaScript对象 */

    var str1='{"width":100,"height":200,"name":"rose"}';/*我们可以把这个称做:JSON格式的字符串 */

     

    var a=[

    {"width":100,"height":200,"name":"rose"},

    {"width":100,"height":200,"name":"rose"},

    {"width":100,"height":200,"name":"rose"},

    ];

    /*这个叫JSON格式的数组,是JSON的稍复杂一点的形式 */

    var str2='['+

    '{"width":100,"height":200,"name":"rose"},'+

    '{"width":100,"height":200,"name":"rose"},'+

    '{"width":100,"height":200,"name":"rose"},'+

    ']' ;

    /*  这个叫稍复杂一点的JSON格式的字符串  */

     

    </script>

     

    JSON和JS对象对比表

    区别

    Json

    Javascript对象

    含义

    仅仅是一种数据格式

    表示类的实例

    传输

    可以跨平台数据传输,速度快

    不能传输

    表现

    1,键值对方式,键必须加引号

    2,值不能是方法函数,不能是undefined/NaN

    1,键值对方式,键不加引号

    2,值可以是函数、对象、字符串、数字、boolean 等

    相互转换

    Json转化为js对象:

    1,

     JSON.parse(jsonstring);

    (不兼容ie7)

    2,

    Jsobj=eval("("+jsonstring+")");

    (兼容所有浏览器,但不安全,会执行json里面的表达式?)

    Js对象转换为Json:

    JSON.stringify(jsobj);(不兼容ie7)

    其他

    调用json官网的js,实现parse  和 stringify 在各个浏览器的兼容

    :https://github.com/douglascrockford/JSON-js/blob/master/json2.js

  • 相关阅读:
    Java中的Graphics2D类基本使用教程
    JSP中页面向Action传递参数的几种方式
    中英文统计
    numpy数据集练习 ----------sklearn类
    IDEA在jsp页面写out.print()代码报错
    Tag文件的创建与应用
    Intellij部署Tomcat问题
    单例测试模式中【饿汉式】与【懒汉式】的区别
    java中类与方法叙述正确的是
    下列关于异常处理的描述中,错误的是()。
  • 原文地址:https://www.cnblogs.com/sdream/p/5885055.html
Copyright © 2011-2022 走看看