1. 程式人生 > >兩種方法解析Json陣列

兩種方法解析Json陣列

解析的Json陣列如下:


第一種 使用自帶的JsonArray 解析,程式碼如下:

//通過自帶的JsonArray
	public List<Person> getListPersonByArray(String jsonString){
		List<Person> personList=new ArrayList<Person>();
		
		try {
			JSONArray jsonArray=new JSONArray(json);
			Log.e("ceshi", jsonArray.length()+"長度");
			for (int i = 0; i < jsonArray.length(); i++) {
				JSONObject jsonObject= (JSONObject) jsonArray.get(i);
				personList.add(new Person(jsonObject.optInt("id"), jsonObject.optString("name"), jsonObject.optInt("age")));
			}
			return personList;
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}

第二種 使用Gson解析,程式碼如下:
//通過Gson解析
	public  List<Person> getListPersonByGson(String jsonString) {
		List<Person> list = new ArrayList<Person>();
		Gson gson = new Gson();
		list = gson.fromJson(jsonString, new TypeToken<List<Person>>() {
		}.getType());
		return list;
	}
Activity中onCreate中的程式碼:
@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
//		List<Person> list=getListPersonByGson(json);
		List<Person> list=getListPersonByArray(json);
		for (int i = 0; i < list.size(); i++) {
			Log.e("ceshi", list.get(i).getName());
		}
	}



相關推薦

方法解析Json陣列

解析的Json陣列如下: 第一種 使用自帶的JsonArray 解析,程式碼如下: //通過自帶的JsonArray public List<Person> getListPerson

ubuntu下C++方法解析json

第一種 用jsoncpp,不過本人目前不知道如何在clion裡面使用,只知道在命令列g++使用,哪位知道如何在clion裡使用可以告訴我,謝謝。 如下步驟本人操作過兩邊,所以按照下面操作應該不會有問題,如有需要請認真閱讀。 一、配置jsoncpp需要安裝s

Android以JSONOject和GSON方式解析json

length pre ray oid 字符 CA clas img name json文件如下: 將獲取到的json數據轉化為String形式 OkHttpClient client = new OkHttpClient(); R

JS刪除JSON陣列中的元素的方法:delete和splice

最近的需求中,需要從JSON陣列中刪除元素,之前不太瞭解,特地查了一下,總結一下: splice(startIndex,count);這個方法用於從陣列的第startIndex位開始,刪除count個元素。 說明: 1、滿足條件的元素直接被刪除,腳標重信排 2、sta

一個帖子解決伺服器與客戶端傳遞物件的問題,JSON解析方法

只要你對JSON有一點了解,以下內容就非常容易理解,閒話少說,直接上程式碼 **方法一**JSONObject 方法解析物件進行傳遞 先寫伺服器端的程式碼,先寫一個person物件 public class Person { private

Java構造和解析Json資料的方法詳解二

package com.json; import java.lang.reflect.Method; import java.text.ParseException; import java.util.HashMap; import java.util.Iterator; import java.uti

SpringMVC中controller返回json數據的方法

rac new enter req imp 工具 response 返回 basepath SpringMVC中controller返回json數據的兩種方法 1.jsp的ajax請求: function getJson(){ $.ajax({ t

轉載:在ASP.net 3.5中 用JSON序列化對象(方法

for pep 技術分享 contract arr static returns web memory asp.net3.5中已經集成了序列化對象為json的方法。 1:System.Runtime.Serialization.Json; 2:Syst

malloc動態申請一個二維陣列方法

方法一:利用二級指標申請 #include <stdio.h> #include <malloc.h> const int num = 2; int main() { int **a = (int**)malloc(num*sizeof(int*)); for (i

javascript遍歷陣列方法差別

今天做了一個ajax實驗,能夠正常從後臺獲取資料,但是無法正常遍歷。資料是以下形式: [{“x”:10,”y”:12},{“x”:12,”y”:15}…..] 1.for迴圈 for(var i=0,len=arr.length;i<len:i++) //正常取資料

vue陣列優化的方法track-by和key 這個有什麼區別

1.  v-bind:key="  " 是vue2.x提出的,1.x的寫法是track-by=" " 2、(1)vue1.x中v-for不能顯示重複資料,要在v-for的元素內定義track-by="$index",即以序號為索引,如此當增加或者刪除資料,view都會跟著改變

Qt文件閱讀筆記-windowOpacity官方解析及例項(方法使得程式漸變出現)

目錄 官方解析 博主例子 官方解析 windowOpacity 這個屬性控制視窗的透明度。 他的取值範圍是1.0(不透明)至0.0(全透明)。 預設情況下,這個屬性的值是1.0。 這個屬性在L

Python實現"陣列的交集||"的方法

給定兩個陣列,寫一個方法輸出它們的交集 Example 1: Input: nums1 = [1,2,2,1], nums2 = [2,2] Output: [2,2] Example 2: Input: nums1 = [4,9,5], nums2 = [9,4

java-方法陣列中重複的元素 lamdba

1、第一種普通的利用for迴圈: public static void main(String[] args) { Integer[] arr1 = { 1, 2, 5, 2, 6, 8, 9 }

Base64位元組陣列轉圖片的方法

問題引出: 在某些情況下Rest API約定不允許通過流形式直接GET提供到客戶端直接展示圖片。如果是這樣,那麼就只能把後端生成的圖片轉成ByteArray返回給前臺,讓前臺重新把它變成圖片!這裡提供兩種解析方法 第一種方法: data中包含了一個PNG圖片驗證

Python3中NumPy陣列尋找特定元素下標的方法

引子 Matlab中有一個函式叫做find,可以很方便地尋找陣列內特定元素的下標,即:Find indices and values of nonzero elements。 這個函式非常有用。比如,我們想計算圖1中點Q(x0, y0)拋物線的最短距離。一個

java生成解析xml的另外方法JAXB

JAXB(Java Architecture for XML Binding) 是一個業界的標準,是一項可以根據XML Schema產生Java類的技術。該過程中,JAXB也提供了將XML例項文件反向生成Java物件樹的方法,並能將Java物件樹的內容重新寫到XML例項文件。從另一方面來講,JAXB提供了快速

1.如何避免野指標2.獲取字串的方法。以及malloc,calloc,ralloc的使用注意點3.二維三維陣列4.陣列和函式的區別

一:野指標: char *ptr; 定一個指標,沒有賦值,用NULL。 char *ptr = NULL 即表示指向空,不能再做賦值,不能對0地址操作訪問。 //#define NULL (void *)o 如果出現段錯誤,看看對NULL有沒有賦值。 如何避免野指標而不

介紹C#解析HTML的方法

在搜尋引擎的開發中,我們需要對網頁的Html內容進行檢索,難免的就需要對Html進行解析。拆分每一個節點並且獲取節點間的內容。此文介紹兩種C#解析Html的方法。     C#解析Html的第一種方法:     用System.Net.WebClient下載Web Page存到本地檔案或者String中,用

Java 陣列初始化的方法

靜態初始化:程式設計師在初始化陣列時為陣列每個元素賦值; 動態初始化:陣列初始化時,程式設計師只指定陣列的長度,由系統為每個元素賦初值。 public class ArrayInit { public static void main(Stri