基于AJAX获取数据/JSON字符串转换为对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于AJAX获取数据/JSON字符串转换为对象相关的知识,希望对你有一定的参考价值。

参考技术A 获取数据和实现数据绑定
=>真实项目中,页面中大部分数据都不是写死的,而是动态绑定的
A:从服务器端获取到数据(基于AJAX/JSONP等技术,通过服务器端提供的数据API接口地址,把数据请求回来)
B:把获取的数据进行解析
C:把数据绑定在html页面中(数据绑定);ES6中的模板字符串

JSON字符串转换JSON对象,在JS页面转换成功,但是ajax提交json数据,后台解析抛出异常

var json='data:["flag":"10","uuid":"aaa","flag":"20","uuid":"ccc"]'; var jsonObj; jsonObj=eval("("+json+")"); alert(jsonObj);发送ajax请求到后台控制台报错:net.sf.json.JSONException: A JSONObject text must begin with '' at character 1 of init net.sf.json.util.JSONTokener.syntaxError(JSONTokener.java:512) net.sf.json.JSONObject._fromJSONTokener(JSONObject.java:839) net.sf.json.JSONObject._fromString(JSONObject.java:1060) net.sf.json.JSONObject.fromObject(JSONObject.java:176) net.sf.json.JSONObject.fromObject(JSONObject.java:147) [...]

参考技术A String jsonStr1 = "'name':111,'child':'1'";
String jsonStr2 = "'name':111,'child':'1'";
char c1 = jsonStr1.charAt(0);
System.out.println(0+c1);
char c2 = jsonStr2.charAt(0);
System.out.println(0+c2);

我找到原因了,这两个“”不一样,你肯定是用了另外一个
参考技术B A JSONObject text must begin with '' at character 1 of init

意思是说json对象必须以{开头,你按你传到后台的那个字符串是以{开始的吗

以上是关于基于AJAX获取数据/JSON字符串转换为对象的主要内容,如果未能解决你的问题,请参考以下文章

AJAX如何解析后台传来的json数据?

JSON字符串转换JSON对象,在JS页面转换成功,但是ajax提交json数据,后台解析抛出异常

怎么处理一个html网页的json数据

怎样从java后台获取json字符串并转换为json对象输出?

[TimLinux] JavaScript AJAX接收到的数据转换为JSON格式

如何用Qt处理http获取的超大的json数据