如何在java spark中解析json请求

时间:2016-04-16 14:47:54

标签: java json json-simple

我正在尝试解析在java-spark中使用HTTP post“body”请求发送的JSON对象。例如,如果我发送JSON对象,如:

  

{\“name”\:\“john \”,\“age \”:\“300 \”}

。 我想用不同的字符串来获取名称和年龄。到目前为止,我在java-spark中试过这个:

post("/test", "application/json", (req,res) -> {
 String name = req.queryParams("name");
 return "hi : " +  name;
});

但它返回hi:null作为结果。

我在互联网上搜索了很多,但我一直在寻找复杂的结果,有一个简单的方法吗? 注意:这不是Apache spark。

编辑:我已经设法在pom.xml中添加了JSON-simple lib作为依赖项,我尝试了以下内容:

JSONObject obj = new  JSONObject(req.body());

但是我收到了一个错误:

  

字符串无法转换为地图

虽然这行可以在我的android开发中使用。

1 个答案:

答案 0 :(得分:1)

首先请验证您获得的字符串是否采用正确的JSON格式。并验证您可以使用Validate JSON

验证完成后,您可以尝试以下内容。

我相信JSONObject你应该使用它的解析来解析JSON。

例如:

JSONParser parser = new JSONParser();
String s = "[0,{\"1\":{\"2\":{\"3\":{\"4\":[5,{\"6\":7}]}}}}]";
Object obj = parser.parse(s);
JSONArray array = (JSONArray)obj;

尝试以下链接,希望能帮助您更好地理解。

JSON Parser1

JSON Parser2