简单json字符串查询

Simple JSON-String Query

本文关键字:查询 字符串 json 简单      更新时间:2023-09-26

我正在开发一个web应用程序,在客户端使用AJAX请求,在服务器端使用servlet。

我的目标是将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。接收并转换回Json

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

我在第二点上挣扎。我用的是org。我搜索并阅读文档,但无法找到满意的答案,将字符串转换为json,反之亦然,在JAVA在我的上下文中。

这将是非常有帮助的一个可以提供简单的工作代码或指向一些链接,我可以学习。

p。S:

我不能使用Jquery,因为我正在使用AngularJS。知道为什么吗?

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

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

假设您能够在服务器代码中提取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();