JSON与服务端交换数据 parse()和stringify()的相关用法

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

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

JSON.parse(text[, reviver])用于从一个字符串中解析出json对象

参数说明:

text:必需, 一个有效的 JSON 字符串。
reviver: 可选,一个转换结果的函数, 将为对象的每个成员调用此函数。
复制代码

用法:

JSON.parse('{ "name":"runoob", "alexa":10000 }');
//转换结果{ "name":"runoob", "alexa":10000" }
复制代码

配合使用: ajax的open()send()

open()

open(method , url , boolean)
//method  对应的取值是“GET”和“POST”
//url 文件在服务器上的位置
//boolean  
//值为true时服务器的请求是异步的,脚本执行send()后不等待服务器的执行结果,继续执行脚本代码 
//值为false时服务器的请求是同步的,脚本执行send() 后等待服务器的执行结果,若在等待过程中超时,则不再等待,继续执行后面的脚本代码
复制代码

send()

//发送请求
send()
//当没有参数时,请求方式为GET
//当有参数时,括号内为请求主体数据,请求方式为POST
复制代码

发送异步请求的步骤

1.创建xhr对象
2.创建请求
3.设置xhr的onreadystatechange(回调函数)
  判断状态,并接收响应回来的数据
4.发送请求
复制代码
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        //此处的this.responseText即为期望的数据
        myObj = JSON.parse(this.responseText);
        document.getElementById("demo").innerHTML = myObj.name;
    }
};
xmlhttp.open("GET", "/try/ajax/json_demo.txt", true);
xmlhttp.send();
复制代码

Json.stringify( value [, replacer] [ , space] )用于从一个对象解析出字符串

参数说明:

value:必需, 要转换的值(包括所有的数据类型,通常是对象或者数组)
replace: 可选,一个转换结果的函数, 将为对象的每个成员调用此函数。
space:可选,向返回值JSON 文本添加缩进、空格和换行符以使其更易于读取。
复制代码
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享