GSONを使ってJson文字列をパースする

JSONの文字列を簡単にJAVAのクラスにしてくれます

  • gson-2.2.2.jar
  • java version “1.6.0_37”
  • iOS10.8.2
package jp.qri.search;

import java.util.List;

import com.google.gson.Gson;

public class GsonTest {
	public static class StockItem{
		public String string;
		public String code;
		public String toString(){
			return "("+string+":"+code+")";
		}
	}
	public static class StockList{
		public List stocks;	// 配列はListを使う
		public StockList(){}
		public String toString(){
			String ret="";
			for(StockItem item:stocks){
				ret+=item.toString()+",";
			}
			return ret;
		}
	}
	
	
	public static void main(String[] argv){
		Gson gson=new Gson();
		String jsonStr="{\"string\":\"ソニー\",\"code\":\"6758\"}";
		StockItem item=gson.fromJson(jsonStr,StockItem.class);
		System.out.println(item.toString());
		
		String jsonString="{\"stocks\":[{\"string\":\"ソニー\",\"code\":\"6758\"},{\"string\":\"ソニーフィナンシャルホールディングス\",\"code\":\"8729\"}]}";
		StockList list=gson.fromJson(jsonString, StockList.class);
		System.out.println(list.toString());
	}
}

結果

(ソニー:6758)
(ソニー:6758),(ソニーフィナンシャルホールディングス:8729),