[英]Parsing JSON in Spring MVC using Jackson JSON
好吧,所以我现在已经看了一会儿,现在就没有了。 我有一个Spring MVC servlet,我需要从JavaScript前端Web应用程序接受JSON。 要解析JSON,我需要使用Jackson。 我需要获取JSON中的值,并按照它们在JSON中出现的顺序将它们存储到List中。 我已经尝试将JsonFactory与JsonParser和JsonNode对象一起使用,但是可以让它完全正常工作。 我还试图打开一个BufferedReader并逐行遍历请求体,但是再次也无法完成。 我在这里看了几个相关的问题,但到目前为止都没有对我有用。
知道的任何人都可以在这里找到正确的方向吗,一个带有示例的网页会很棒!
使用像Jackson这样的映射技术的全部意义在于你可以使用Objects(你不必自己解析JSON)。
定义一个类似于您期望的JSON的Java类。
例如这个JSON:
{
"foo" : ["abc","one","two","three"],
"bar" : "true",
"baz" : "1"
}
可以映射到这个类:
public class Fizzle{
private List<String> foo;
private boolean bar;
private int baz;
// getters and setters omitted
}
现在,如果你有一个这样的Controller方法:
@RequestMapping("somepath")
@ResponseBody
public Fozzle doSomeThing(@RequestBody Fizzle input){
return new Fozzle(input);
}
并且你从上面传递JSON,Jackson将自动为你创建一个Fizzle对象,它会将返回的Object的JSON视图序列化为mime类型application/json
的响应。
有关完整的工作示例, 请参阅我之前的答案 。
我正在使用来自http://json-lib.sourceforge.net/的 json lib
JSON-LIB-2.1-jdk15.jar
import net.sf.json.JSONObject;
...
public void send()
{
//put attributes
Map m = New HashMap();
m.put("send_to","my@admin.lan");
m.put("email_subject","this is a test email");
m.put("email_content","test email content");
//generate JSON Object
JSONObject json = JSONObject.fromObject(content);
String message = json.toString();
...
}
public void receive(String jsonMessage)
{
//parse attributes
JSONObject json = JSONObject.fromObject(jsonMessage);
String to = (String) json.get("send_to");
String title = (String) json.get("email_subject");
String content = (String) json.get("email_content");
...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.