⑴ 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());
⑵ 請問android怎樣通過json數據從伺服器獲取圖片
android裡面,通過json數據是不會直接返回圖片的,只會返回圖片的url地址。
步驟: 1,通過解析json數據,獲取到圖片的地址。
2,通過圖片的地址,再一次的請求網路(用非同步任務或者hangdler裡面請求網路:比如:
URL url = new URL(urlStr);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
BufferedInputStream is = new BufferedInputStream(conn.getInputStream());
)
3 通過BitmapFactory.decodeStream(裡面的參數是一個位元組流),該方法返回的是一個bitmap ,直接用imageview.setimagebitmap()就能展示圖片了。
說明: 在BitmapFactory.decodeStream這里返回的bitmap可以做進一步的優化,比如二次采樣,把獲取的bitmap存sd卡等等。。
⑶ android中這樣的JSON數據應該如何解析,
java">//json我的理解就是一系列鍵值對,只要KEY值對了,對應數據格式也對了,那就可以了!~
JsonObjectj=...//此處是獲取json的方法,自定
booleanb=j.getBoolean("result");//取出「result」對應的值,這里的結果應該
//是"true";
JsonArrayja=j.getJsonArray("asks");//取出「asks」對應的值,因為asks對應的值
//中含有方括弧,所以這是JsonArray型數據,需要取出進一步解析;JsonArray可以與數組
//進行比較理解,我個人是這樣的,供參考
for(inti=0;i<ja.length();i++){
JsonArrayja1=ja.getJsonArray(i);//獲取ja中的第一個元素,因為這個元素
//也是jsonArray,所以可以再進一步解析
doubled1=ja1.getDouble(0);//jsonArray中沒有getFloat()這個方法
//,自行轉型就可以了
doubled2=ja1.getDouble(1);//
}
以上,希望對你有所幫助
⑷ android怎麼解析json文件
android 下有自帶的對json字元串處理的包的,都在org.json包下
//注意要拋出異常,用try,catch或直接拋異常
JSONObjectobject=newJSONObject(result);
//獲取resultcode對象,其它類推
Stringresultcode=object.getString("resultcode");
//獲取data列表
JSONArrayarray=object.getJSONArray("data");
for(inti=0;i<array.length;i++){
//獲取列表第i個json對象
JSONObjectobj=array.get(i);
//獲取經度、維度
Stringlongitude=obj.getString("O_LNG");
Stringlatitude=obj.getString("O_LAT");
}
當然,你用其它的json處理的包也行,大同小異
⑸ android 手機怎樣解析json數據
可以用一些開源的Java庫,就可以把這些json數據直接變為Java對象及數組了,然後用Java處理起來很方便。
常用的處理json的庫有gson和json-lib,你網路一下可以下到,網上也有例子
⑹ android里怎麼解析已經下載好的json文件
io流 讀到一個string中,然後new jsonarray(string)