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的格式可以在線格式化下看的清晰點,關於框架可以網上下載很容易用的。