androidjson处理
① android怎么解析json文件
你好,我试过了,这样能取到你要的结果:
用的gson-2.2.4.jar包,你应该有吧,没有网络搜下去下个就好了。
java">importcom.google.gson.JsonArray;
importcom.google.gson.JsonObject;
importcom.google.gson.JsonParser;
publicclassMyTest{
publicstaticvoidmain(String[]args){
Stringjson="{'resultcode':'200','reason':'ReturnSuccessd!','result':{'data':[{'MCC':'460','MNC':'1','LNG':'120.721423','LAT':'31.29854','O_LNG':'120.72577772352','O_LAT':'31.296529947917','PRECISION':'1101','ADDRESS':'江苏省苏州市吴中区金鸡湖大道368号'}]}}";
JsonParserjsonParser=newJsonParser();
JsonObjectjsonObj=jsonParser.parse(json).getAsJsonObject();
JsonObjectresult=jsonObj.get("result").getAsJsonObject();
JsonArraydata=result.get("data").getAsJsonArray();
StringO_LNG=data.get(0).getAsJsonObject().get("O_LNG").getAsString();
StringO_LAT=data.get(0).getAsJsonObject().get("O_LAT").getAsString();
StringADDRESS=data.get(0).getAsJsonObject().get("ADDRESS").getAsString();
System.out.println(O_LNG);
System.out.println(O_LAT);
System.out.println(ADDRESS);
}
}
② Android json解析
关于json解析有很多第三方的jar包可以使用,如gson,也可以使用android自带的工具类org.json包下,这里你可以使用JSONTokener(json解析类 ),例:
// {
// "phone" : ["12345678", "87654321"], // 数组
// "name" : "yuanfei89", // 字符串
// "age" : 100, // 数值
// "address" : { "country" : "china", "province" : "jiangsu" }, // 对象
// "married" : false // 布尔值
// }
private static final String JSON =
"{" +
" \"phone\" : [\"12345678\", \"87654321\"]," +
" \"name\" : \"yuanfei89\"," +
" \"age\" : 100," +
" \"address\" : { \"country\" : \"china\", \"province\" : \"jiangsu\" }," +
" \"married\" : false," +
"}";
try {
JSONTokener jsonParser = new JSONTokener(JSON);
// 此时还未读取任何json文本,直接读取就是一个JSONObject对象。
// 如果此时的读取位置在"name" : 了,那么nextValue就是"yuanfei89"(String)
JSONObject person = (JSONObject) jsonParser.nextValue();
// 接下来的就是JSON对象的操作了
person.getJSONArray("phone");
person.getString("name");
person.getInt("age");
person.getJSONObject("address");
person.getBoolean("married");
} catch (JSONException ex) {
// 异常处理代码
}
可参考:http://www.open-open.com/lib/view/open1326376799874.html
③ android 解析json用那个包里面的方法比较好呢
android 解析json还有用Google出品的Gson比较好,具体步骤为:
1、首先,从 code.google.com/p/google-gson/downloads/list下载GsonAPI:
google-gson-1.7.1-release.zip 把gson-1.7.jar 到libs(项目根目录新建一个libs文件夹)中。 可以使用以下两种方法解析JSON数据,通过获取JsonReader对象解析JSON数据。
代码如下:
String jsonData = "[{\"username\":\"arthinking\",\"userId\":001},{\"username\":\"Jason\",\"userId\":002}]";
try{
JsonReader reader = new JsonReader(new StringReader(jsonData));
reader.beginArray();
while(reader.hasNext()){
reader.beginObject();
while(reader.hasNext()){
String tagName = reader.nextName();
if(tagName.equals("username")){
System.out.println(reader.nextString());
}
else if(tagName.equals("userId")){
System.out.println(reader.nextString());
}
}
reader.endObject();
}
reader.endArray();
}
catch(Exception e){
e.printStackTrace();
}
2、使用Gson对象获取User对象数据进行相应的操作:
代码如下:
Type listType = new TypeToken<LinkedList<User>>(){}.getType();
Gson gson = new Gson();
LinkedList<User> users = gson.fromJson(jsonData, listType);
for (Iterator iterator = users.iterator(); iterator.hasNext();) {
User user = (User) iterator.next();
System.out.println(user.getUsername());
System.out.println(user.getUserId());
}
3、如果要处理的JSON字符串只包含一个JSON对象,则可以直接使用fromJson获取一个User对象:
代码如下:
String jsonData = "{\"username\":\"arthinking\",\"userId\":001}";
Gson gson = new Gson();
User user = gson.fromJson(jsonData, User.class);
System.out.println(user.getUsername());
System.out.println(user.getUserId());
④ 安卓 从网上获取的json数据如何处理
[]包括的内容是JSONArray,{}包括的内容是JSONObject。
JSON解析,将结果转换成Json对象
JSONObject obj = new JSONObject(数据字符串)。
JSONArrayarr = obj.obj.getJSONArray(name),name是数据“”里的名字,同理JSONArray里包含的JSONObject 使用getJSONObject得到。
然后要得到的具体数据就在JSONObject 、JSONArray里了,使用它们的方法get**(name)得到具体值。(**指类型String等)
⑤ android 上拉加载的json数据怎么处理
可以用第三方框架FastJson,直接将Json反射成类对象,只要按照Json的格式定义类就可以了,json的格式可以在线格式化下看的清晰点,关于框架可以网上下载很容易用的。