gpt4 book ai didi

java - 将库从 org.json 更改为 Jackson 以解析 JSON

转载 作者:行者123 更新时间:2023-12-01 15:11:05 26 4
gpt4 key购买 nike

我一直在使用库存 org.json 库并且对此很熟悉。出于性能原因,我现在想使用 Jackson 库,但正在努力适应看起来非常不同的框架。获取以下 JSON:

{"result":[[{"usUserName":"FRED","usActive":true},{"usUserName":"JIM","usActive":true},{"usUserName":"DAVID","usActive":true}]]}

对于 org.json,我对其进行如下解析:

try {
JSONArray jsonRecordset = response.getJSONArray("result").getJSONArray(0);
JSONObject jsonFirstRecord = jsonRecordset.getJSONObject(0);
Log.i("myloginfo", jsonFirstRecord.getString("usUserName"));
} catch (JSONException e) {
e.printStackTrace();
}

我想与 jackson 一起复制这个,但不知道该去哪里,因为它看起来非常不同。我的 JSON 来 self 无法控制的 Web 服务。上面的数据只是为了说明,我的实际数据要大得多,因此我想要最好的性能。

最佳答案

通常的方法是定义一个具有与 JSON 兼容的结构的 Java 类(或多个类),而不是手动对事物进行切片和切 block 。就像这样:

public class Response {
public UserInfo[][] result;
}
public class UserInfo {
public String usUserName;
public boolean usActive;
}

ObjectMapper mapper = new ObjectMapper(); // must reuse for good performance
Response resp = mapper.readValue(jsonInput, Response.class);
// and use 'resp' however you want, now has the expected data.

也可以像json.org一样使用Jackson,即所谓的树模型;为此,您可以查看教程。当数据不具有良好的对象结构(即,设计时不能从 OO 语言轻松访问),或者您只需要大型文档中的一小段代码时,它的效果会更好。

关于java - 将库从 org.json 更改为 Jackson 以解析 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12355596/

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