Java 不使用pojo、bean或getter和setter获取Json标题的Json数组

Java 不使用pojo、bean或getter和setter获取Json标题的Json数组,java,json,servlets,gson,Java,Json,Servlets,Gson,嗨,我刚刚开始使用Json。 我的问题是我希望json数组的格式如下 [ { "id" : "1", "name" : "India" },{ "id" : "2", "name" : "Pakistan" },{ "id" : "3", "name" : "China" },{ "id" : "4", "name" : "Japan" },{ "id" : "5", "name" : "Russia" } ] 我想要每个值的id和名称标题。 最大的问题是,当我使用servlet将这个js

嗨,我刚刚开始使用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时,我什么也得不到(使用这段代码)

代码是

    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);
Map m=newhashmap();
m、 卖出(“1”、“印度”);
m、 put(“2”、“Pak”);
m、 卖出(“3”、“中国”);
字符串js=new Gson().toJson(m);

最后,我想把上面大部分的json发送到ajax。ajax代码没有问题,它可以很好地使用这种类型

使用
entrySet
获取密钥。只需循环浏览条目

代码:

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.
}
JsonParser p=newjsonparser();
JsonObject result=p.parse(file.getAsJsonObject();
Set entrySet=result.entrySet();
for(Map.Entry:entrySet){
System.out.println(entry.getKey());//这将为您提供密钥。
}

我希望这能帮助你

好吧,经过大量的努力,我得到了解决方案,它已经隐藏在我之前构建的类中了

 class stateList
 {
   private String id;
   private String StateName;
   stateList s;
   public stateList(String id, String StateName)
   {
     this.id = id;
     this.StateName = StateName;
   }
   public String toString() {
    return "id = " +id+ ", stateName = " +StateName; //solution
   }
  }
只需调用stateList的toString()


谢谢,但我使用的是Gson,我也会试试这个欢迎,我更喜欢这种方式,它更容易获得密钥,如果你使用Java8,也更容易,别忘了将json简单库添加到你的项目中-祝你好运!
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.
}
 class stateList
 {
   private String id;
   private String StateName;
   stateList s;
   public stateList(String id, String StateName)
   {
     this.id = id;
     this.StateName = StateName;
   }
   public String toString() {
    return "id = " +id+ ", stateName = " +StateName; //solution
   }
  }
         //code 2 line 5
    js = new Gson().toJson(sl.toString());