gpt4 book ai didi

java - 不使用 pojo、bean 或 getter 和 setter 获取 Json Titled json 数组

转载 作者:行者123 更新时间:2023-11-30 08:34:47 25 4
gpt4 key购买 nike

您好,我刚刚开始使用 Json。我的问题是我想要以下形式的 json 数组

  [ { "id" : "1", "name" : "India" },{ "id" : "2", "name" : "Pakistan" },{ "id" : "3", "name" : "China" },{ "id" : "4", "name" : "Japan" },{ "id" : "5", "name" : "Russia" } ]

我想要每个值的 ID 和名称标题。然后最大的问题是当我使用 servlet 将这个 json 发送到 ajax 时我什么也没得到(使用这段代码)

    List<stateList> sl = new ArrayList<stateList>();//ststeList is getters n setters obj
sl.add(new stateList("1","India"));
Gson js = new Gson();
js.toJson(sl);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(js.toString());

但是如果我使用字符串对象,我得到的是值,但没有标题,即 (id,name)

       {"1":"India","2":"Pak","3":"China"} 

代码是

    Map<String,String> m = new HashMap<String, String>();
m.put("1", "India");
m.put("2", "Pak");
m.put("3", "China");

String js = new Gson().toJson(m);

所以最后我希望最上面的 json 发送到 ajax。ajax 代码没有问题,它可以很好地处理这种类型

最佳答案

使用entrySet 获取 key 。只需遍历条目

代码:

JsonParser p = new JsonParser();
JsonObject result = p.parse(file).getAsJsonObject();
Set<Map.Entry<String, JsonElement>> entrySet = result.entrySet();
for(Map.Entry<String, JsonElement> entry : entrySet) {
System.out.println(entry.getKey()); //this gives you the keys.
}

希望对你有帮助

关于java - 不使用 pojo、bean 或 getter 和 setter 获取 Json Titled json 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38641654/

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