gpt4 book ai didi

java - 在servlet中解析Json

转载 作者:行者123 更新时间:2023-12-02 01:58:08 32 4
gpt4 key购买 nike

我在java中有这个数组列表

[ {"pname":"7", "qty":"222"}, 
{"pname":"8", "qty":"5"},
{"pname":"9", "qty":"60"} ]

我可以访问第一个索引,即对象,如何访问第一个对象内的第一个元素,即java语法中的“pname”键。请给我示例代码。谢谢。

我尝试过:

mylist.get(0)

但它只给了我第一个对象。我不知道如何访问对象内的第一个索引。这是我从获取数据到将其解析为 json 数组并转换为数组列表的整个代码

        String data = request.getParameter("data");
JSONArray jsonArray = new JSONArray(data);

ArrayList<String> mylist = new ArrayList<String>();
JSONArray this_is_jsonArray = (JSONArray)jsonArray;
if (jsonArray == null) {
System.out.println("json is empty");
}
else
{
int length = this_is_jsonArray.length();
for (int i=0;i<length;i++){
mylist.add(this_is_jsonArray.get(i).toString());
}
}
output.append(mylist);

基本上,我正在尝试在 JavaScript 中执行与此 mylist[0].pname 类似的输出。总而言之,预期的输出是将这些 pname 和 qty 保存到一个变量中,以便我能够将每个值发送到数据库

最佳答案

为了写出正确的答案,您需要非常清楚您拥有的输入和输出以及您期望的输出。

我不明白为什么你想创建一个并行数据结构而不是使用解析的 JSON,但从我在评论中读到的内容来看,我认为你需要更改 ArrayList 内容的结构才能获得你的结果想要实现。

String data = "[ {\"pname\":\"7\", \"qty\":\"222\"}, {\"pname\":\"8\", \"qty\":\"5\"}, {\"pname\":\"9\", \"qty\":\"60\"} ]" ;
HashMap<String, String> item = new HashMap<String, String>();
JSONArray jsonArray = new JSONArray(data);
ArrayList<HashMap> mylist = new ArrayList<HashMap>();
if (jsonArray == null) {
System.out.println("json is empty");
} else {
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
item.put("pname", jsonObject.getString("pname"));
item.put("qty", jsonObject.getString("qty"));
mylist.add(item);
}
}
System.out.println(mylist);

关于java - 在servlet中解析Json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57388786/

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