gpt4 book ai didi

java - 无法从 POST 请求检索数据

转载 作者:行者123 更新时间:2023-12-02 06:13:09 24 4
gpt4 key购买 nike

我正在使用 JAVA 1.8 编写并使用 Apache Tomcat 来运行服务器,我无法从 POST 请求(即 JSON 格式)检索数据。

我实际上需要它在 HashMap 中,我什至可以解析它并将其转换为 HashMap,即使它在 JSON 中是可读的。我尝试了互联网上的几个链接,但总是遇到类似 Could not deserialize to type interface PACKAGE NAME.

的异常。
   @POST
@Produces("application/json")
@Consumes("application/json")
@Path("ClassifyCase")
public Rules Classify(HttpServletRequest request) {

StringBuffer jb = new StringBuffer();
String line = null;
try {
BufferedReader reader = request.getReader();
while ((line = reader.readLine()) != null)
jb.append(line);
} catch (Exception e) { System.out.println("Buffer Reader Error"); }

System.out.println("What I read: "+jb);
System.out.println("Here la la l ala ");
// System.out.println("Case: ++ "+Case.toString());
System.out.println("Here la la l ala ");
Rules foundRule = new Rules();
// List<Rules> objListRules = new ArrayList<Rules>();
try
{
DataAccessInterface objDAInterface = new RuleDataAdapter();
AbstractDataBridge objADBridge = new DatabaseStorage(objDAInterface);
// foundRule = objADBridge.Classify(Case);
logger.info("Classification done!");
}
catch(Exception ex)
{
logger.info("Error in classification");
System.out.println("Couldnt Classify Properly!");
// return
}
return foundRule;
}

This is how I am sending data through postman in JSON

有人可以分享有关如何接收此数据并将其转换为 map 的指南吗?或者我可以直接获取 map !

最佳答案

我强烈建议您使用这个 JSON 库..

You can find it in Maven Repository

您可以在Maven存储库中找到它,并且可以轻松地将JSON解析为MapJSONArrayJSONObject...取决于您的需要,您想要做什么..

这里是一个示例,展示如何将 JSON 解析为 HashMap

Map<String, Object> map = new JSONObject(--JSONString here--).toMap();

仅此而已...

现在,如果您的 JSON 有一个对象列表,我的意思是像一个 maps 列表,您只需要做的就是......

JSONArray jsonArray = new JSONArray(--JSON string here--);

for(int i = 0; i < jsonArray.length(); i++){
Map<String, Object> map = jsonArray.getJSONObject(i).toMap();
}

这是解释。

您获取 JSON 字符串并将其作为参数传递给 JSONArrayJSONArray 的作用是,获取您的 json 字符串并解析它喜欢一个列表

然后,您创建一个 for 来获取该列表的每个 Object 并将其解析为 map

注意:JSONObject 的作用是获取 JSONArray 的对象并解析它...您可以将其解析为 map 或者您可以获得该 map 的每个对象..

关于java - 无法从 POST 请求检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59067565/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com