简单的JSON字符串查询

时间:2014-06-24 12:29:30

标签: java javascript ajax json

我正在使用客户端的AJAX请求和服务器端的Servlet开发一个Web应用程序。

我的目标是将Javascript对象发送到服务器,然后在那里进行一些操作并将其发送回此处显示。

假设我的js对象是

var obj={hero:"Spiderman",name:"Peter Parker"};

我的方法

1.将obj转换为JSON字符串并发送

var str= JSON.stringify(obj);
xmlhttp.open("POST",myurl,true);
xmlhttp.setRequestHeader("Content-Type","application/json",true);
xmlhttp.send("data="+str); 

2。接收字符串,将其转换回JSON,将“name”操作为“Bruce Wayne”并将其作为字符串发送回来

3.Recieve并转换回Json

var data= JSON.parse(xmlhttp.responseText);

我在第二点苦苦挣扎。我正在使用org.json。我搜索并阅读了文档,但是在我的上下文中找不到将字符串转换为json和反之亦然的JAVA的完整答案。

提供简单的工作代码或指向我可以学习的一些链接真的很有帮助。

P.S:

我不能使用Jquery,因为我正在使用AngularJS。 See Why?

我将始终发送有效的JSON字符串。

我可以使用其他JSON lib。如果它比org.json好,并满足我的需求。 请提供其jar下载链接。

1 个答案:

答案 0 :(得分:1)

假设您能够在服务器代码中提取data

您可以使用org.json

来执行此操作
JSONParser parser = new JSONParser();
JSONObject requestObj = (JSONObject) parser.parse(data);
String name = (string)requestObj.get("name");
name = "Bruce Wayne";

创建响应的代码可能如下所示:

JSONObject response = new JSONObject();
response.put("name",name);
return response.toJSONString();

这假设您的服务器方法返回String类型

如果您使用Servlet,可以使用HttpServletResponse对象res创建响应,如: res.setContentType("application/json"); OutputStream os = res.getOutputStream(); os.write(response.toString().getBytes()); os.close();