JSON.parse(string)
JSON.Stringify(object)document.getElementById("id").value=jsonObj //不可以 打印出来的是object
document.getElementById("id").value=array //可以 打印出来的是逗号分隔的字符串
所以用value存值,需要先转为字符串,ajax也是同理传值也是这样1.ajax读取文本,需要在服务器中运行。
2.ajax获取数据,用json解析,进不了success方法,很有可能是获取到的数据的json格式有问题,有空格 有回车都不行,需要压缩。测试错误的方法是,用text来解析,在success方法里用JSON.parse()来解析,这时会报错,看错误出在哪里。
js中json表达式 {"xxx":obj,"xxx":obj,...}
例如:{"username":"xxxx","age":23}
方法一:var json=JSON.parse(request.responseText);
alert(json.city);
方法二:var result = request.responseText;
var json=eval("("+result+")");
alert(json.telephone);
将json对象转成json格式字符串JSON.stringify(object) 即序列化
eval的用法:
1. eval("x=10;y=20;document.write(x*y)")
2. document.write(eval("2+2"))
3. var x=10
document.write(eval(x+17))
【JavaScript】
eval(“(”+jsonString+")")
此方法可将json格式字符串转换成json对象。
应用场景:后端传过来的json格式字符串,转换成json对象。java代码
UserDao ud = new UserDao();
UserBean us = ud.findByUsername(username);
String jsonData="";
if(us != null){
jsonData="{\"message\":\"用户名可用\",\"flag\":false}";
}else{
jsonData="{\"message\":\"用户名不可用\",\"flag\":true}";
}
前端jsp接收到字符串,需要转换成json对象
eval("{}")中,被""包围的{}会被视为代码块来执行var x = eval( "{var a=0; b=a; b}" )
console.log输出x为0。eval("{a=0; b=2; b}")
输出得到的是2