java得到json名值对的名的方法

名值对中的 名 用什么方法取
2025-01-03 12:20:35
推荐回答(2个)
回答1:

public static List> getmap() throws Exception {
  String str = HttpUtil.requestStringForPost(HttpUtil.URL
    + "?actionFlag=listMap");
  JSONObject j = new JSONObject(str);
  List> list = new ArrayList>();
  JSONArray js = j.getJSONArray("listMap");
  for (int i = 0; i < js.length(); i++) {
   Map map=new HashMap();
   JSONObject j1 = js.getJSONObject(i);
   Iterator it=j1.keys();
   while(it.hasNext()){
              String key=it.next();
              Object value=j1.get(key);
              if(value==null){
               value="";
              }
              map.put(key, value);
              Log.i("tag", "map-------->");
   }
   list.add(map);
  }
  return list;
 }

这是从网上获得json字符串,然后解析的方法,希望对你有用

回答2:

Map map = new HashMap();
map.put( "name", "json" );
map.put( "bool", Boolean.TRUE );
map.put( "int", new Integer(1) );
map.put( "array", new String[]{"a","b"} );
map.put( "func", "function(i){ return this.arr[i]; }" );

JSONObject jsonObject = JSONObject.fromObject( map );
try {
List arr = jsonObject.names();//获取名
Collection arra = jsonObject.values();//获取值
for(Object name:arr){
System.out.println(name.toString());
}
for(Object value:arra){
System.out.println(value.toString());
}
} catch (Exception e) {
e.printStackTrace();
}
随便玩啦