android4.3解析json,android403

本文目錄一覽:

Android 中解析 JSON

JSON( JavaScript Object Notation ) 是一種輕量級的數據交換格式。易於閱讀和編寫,同時也易於機器解析和生成。

JSON 建構於兩種結構:

JSON 具有以下這些格式:

參考: Android 中 解析 JSON

Android 提供類四種不同的類來操作 JSON 數據。這些類是 JSONArray、JSONObject、JSONStringer 和 JSONTokenizer

為了解析 JSON 對象,須先創建一個 JSONObject 類的對象,需要傳入需解析的字符串 JSONObject root = new JSONObject(candyJson); 然後根據 JSONObject 對象提供方法以及數據類型解析對應 json 數據。下表展示一些 JSONObiect 提供的方法

示例:

怎麼在android客戶端解析json數據

這個格式使用如下代碼解析try { JSONObject jsonObject = new JSONObject(json); JSONObject weatherinfo = jsonObject.getJSONObject(“weatherinfo”); System.out.println(weatherinfo.getString(“city”)); System.out.println(weatherinfo.getString(“cityid”)); System.out.println(weatherinfo.getString(“temp”)); System.out.println(weatherinfo.getString(“WD”));} catch (JSONException e) { e.printStackTrace();} 其中第一行代碼 JSONObject jsonObject = new JSONObject(json);//json 即為你的字符串 比如現在天氣信息是多個城市的,並非只有北京市。{“weatherinfo”:[{“city”:”北京”,”cityid”:”101010100″,”temp”:”4″,”WD”:”東風”,”WS”:”2級”,”SD”:”75%”,”WSE”:”2″,”time”:”10:45″,”isRadar”:”1″,”Radar”:”JC_RADAR_AZ9010_JB”,”njd”:”暫無實況”,”qy”:”1011″},{“city”:”天津”,”cityid”:”101010100″,”temp”:”4″,”WD”:”東風”,”WS”:”2級”,”SD”:”75%”,”WSE”:”2″,”time”:”10:45″,”isRadar”:”1″,”Radar”:”JC_RADAR_AZ9010_JB”,”njd”:”暫無實況”,”qy”:”1011″}]}以下代碼適用。 try { JSONObject jsonObject=new JSONObject(json); JSONArray jsonArray=jsonObject.getJSONArray(“weatherinfo”); for (int i=0;ijsonArray.length();i++){ JSONObject object = jsonArray.getJSONObject(i); System.out.println(object.getString(“city”)); System.out.println(object.getString(“cityid”)); System.out.println(object.getString(“temp”)); System.out.println(object.getString(“WD”)); }} catch (JSONException e) { e.printStackTrace();}

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 copy到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 TypeTokenLinkedListUser(){}.getType();

Gson gson = new Gson();

LinkedListUser 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());

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/308581.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-03 14:49
下一篇 2025-01-03 14:49

相關推薦

  • JSON的MD5

    在Web開發過程中,JSON(JavaScript Object Notation)是最常用的數據格式之一。MD5(Message-Digest Algorithm 5)是一種常用…

    編程 2025-04-29
  • 使用Java將JSON寫入HDFS

    本篇文章將從以下幾個方面詳細闡述Java將JSON寫入HDFS的方法: 一、HDFS簡介 首先,先來了解一下Hadoop分佈式文件系統(HDFS)。HDFS是一個可擴展性高的分佈式…

    編程 2025-04-29
  • 如何使用Newtonsoft datatable轉Json

    Newtonsoft DataTable 是一個基於.NET的JSON框架,也是一個用於序列化和反序列化JSON的強大工具。 在本文中,我們將學習如何使用Newtonsoft Da…

    編程 2025-04-28
  • JPRC – 輕鬆創建可讀性強的 JSON API

    本文將介紹一個全新的 JSON API 框架 JPRC,通過該框架,您可以輕鬆創建可讀性強的 JSON API,提高您的項目開發效率和代碼可維護性。接下來將從以下幾個方面對 JPR…

    編程 2025-04-27
  • 使用Python獲取JSON並解析

    本文將介紹如何使用Python獲取JSON數據並解析相關內容。通過使用Python的第三方庫,我們可以輕鬆地處理JSON數據,包括讀取、提取和操作JSON數據。 一、獲取JSON數…

    編程 2025-04-27
  • Python存為JSON的方法及實例

    本文將從以下多個方面對Python存為JSON做詳細的闡述。 一、JSON簡介 JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,易於人閱…

    編程 2025-04-27
  • 使用Spread 8展示JSON數據

    使用Spread 8可以方便地展示JSON數據,本文將詳細介紹如何利用Spread 8展示JSON數據。 一、Spread 8簡介 Spread 8是一款強大的電子表格軟件,可以方…

    編程 2025-04-27
  • 如何在json轉實體類時忽略大小寫

    本文將從以下幾個方面介紹如何在json轉實體類時忽略大小寫。 一、使用Gson庫實現json轉實體類忽略大小寫 Gson是Google提供的Java JSON操作庫,它提供了簡單易…

    編程 2025-04-27
  • C# 中 JSON null 不顯示的處理方法

    本文將為大家介紹在 C# 中處理 JSON null 不顯示的解決方法。 一、null 不顯示的問題 在使用 C# 進行 JSON 數據處理的時候,經常會遇到 null 值不顯示的…

    編程 2025-04-27
  • Hive解析JSON詳解

    一、JSON簡介 JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,具有結構清晰、易於讀寫、便於解析等特點。它基於JavaScript的一…

    編程 2025-04-25

發表回復

登錄後才能評論