json基础知识

一、概念

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

JSON 是轻量级的文本数据交换格式

JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。

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

二、JSON对象和JSON字符串的区别

a.JSON对象是直接可以使用JQuery操作的格式,如Java中可以用对象(类名)点出属性(方法)一样
b.JSON字符串仅仅只是一个字符串,一个整体,不截取的话没办法取出其中存储的数据,不能直接使用,除非你只想alert()他;

JSON对象:

var str2 = { "name": "deluyi", "sex": "man" };

JSON字符串:

var str1 = '{ "name": "deyuyi", "sex": "man" }';

 

Q:将"JSON字符串"转化为"JSON对象"的方法?

 

一:使用$.parseJSON(str)

 

    //由JSON字符串转换为JSON对象
    var str='{ "name": "John" }';
    var obj = jQuery.parseJSON(str)
    alert("1"+ obj.name);

 

ps:此种方式仅支持标准格式:var str='{ "name": "John" }';


二:JSON.parse(str)

 

        var str = '{ "name": "mady", "age": "24" }';
        var obj = JSON.parse(str);
        alert(obj.name);

 

ps:此种方式仅支持标准格式:var str='{ "name": "John" }';

 

 

 

三:使用eval('('+str+')');

 

复制代码
复制代码
    //由JSON字符串转换为JSON对象
    var str='{ "name": "John" }';
    var obj = eval('(' + str + ')'); 
    alert( obj.name);

    var str2="{ 'name': 'John' }";
    var obj2 = eval('(' + str2 + ')'); 
    alert( obj2.name);

    var str3="{ name: 'John' }";
    var obj3 = eval('(' + str3 + ')'); 
    alert( obj3.name);
复制代码
复制代码

 

以上均会输出结果“john”。

 

 

 

Eval方式可以转换以下标准和非标准格式字符串:

 

   var str="{ 'name': 'John' }";
   var str2='{ "name": "John" }';
   var str3="{ name: 'John' }";

 

 

 

Q:将"JSON对象"转化为"JSON字符串"的方法?

 

一:使用全局方法JSON.stringify()与toJSONString()

 

例如:

 

var last=obj.toJSONString(); //将JSON对象转化为JSON字符

 

或者

 

var last=JSON.stringify(obj); //将JSON对象转化为JSON字符

 

alert(last);

 

 

posted @ 2018-07-18 13:35  陈留白  阅读(161)  评论(0编辑  收藏  举报