日期:2014-05-17  浏览次数:24811 次

java提取json 字符串中的值
愁死啦,对json一窍不通,求解
{"ent_name":"hhhhhhhhhhhhhhhhh","ent_naming":"dd","ent_naming_unit":"fff","ent_escription":"赛事简介"}
怎么取到ent_name 等对应的值啊
------解决方案--------------------
java有对应 的jar 
------解决方案--------------------
JSONObject  dataJson=new JSONObject(str);
JSONArray data=dataJson.getJSONArray();
JSONObject info=data.getJSONObject(0);
String ent_name =info.getString("ent_name ");
------解决方案--------------------
例如"ent_name":"hhhhhhhhhhhhhhhhh"这个创建一个类(类名随便)ent_name 做成员变量 提供get 和set 方法。
Gson gson = new Gson();
List<类名> ps = gson.fromJson(string, new TypeToken<List<类名>>(){}.getType());

ps.get();这个方法就行了。
------解决方案--------------------
java中有将json字符串转成json对象的jar包,你下下来就可以将字符串对象转成jsonObject对象,类似map的读取方式就可以取出来
------解决方案--------------------
为了解决问题专门下了gson。很简单,lz要学会自己解决问题

String str ="{'ent_name':'hhhhhhhhhhhhhhhhh','ent_naming':'dd','ent_naming_unit':'fff','ent_escription':'赛事简介'}";
Gson gs = new  Gson();
Map<String,String> map = gs.fromJson(str, Map.class);
System.out.println(map.get("ent_name"));

------解决方案--------------------
可以使用FastJson来解析:
        String js = "{\"ent_name\":\"hhhhhhhhhhhhhhhhh\",\"ent_naming\":\"dd\",\"ent_naming_unit\":\"fff\",\"ent_escription\":\"赛事简介\"}";
        JSONObject jo = JSON.parseObject(js);
        System.out.println(jo.get("ent_naming"));
        System.out.println("ent_escription");


输出:
dd
ent_escription