我正在尝试解析在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开发中使用。
答案 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;
尝试以下链接,希望能帮助您更好地理解。