如何在 java spark 中解析 json 请求

How to parse json request in java spark

我正在尝试解析使用 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;
});

但它 returns 嗨:结果为空。

我在网上搜索了很多,但总是找到复杂的结果,有没有简单的方法? 注意:这不是 Apache spark。

编辑:我已经设法在 pom.xml 中添加 JSON-简单库作为依赖项,并且我尝试了以下操作:

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

但是我得到一个错误:

String cannot be converted to map

尽管那条线在我的 android 开发中有效。

首先请验证您获取的字符串是否采用正确的 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