搜尋此網誌

2012年4月17日 星期二

[Google Gson] 從json格式轉型成自定義宣告

這是小緋近幾天來的研究

主要是因為針對資料庫欄位,不適合接受多方的參數命名來定義資料庫欄位
畢竟一家公司就有一個參數命名,那 N 家公司就有 N 個,如果想針對每家都加一個欄位,這是吃力不討好的事情

本來是透過字串切割的方式來處理此事情,後來在友人的建議下更改為使用Json格式,說穿了Json就很類似 Map物件

今天要針對json格式字串轉譯成自定義宣告


1.首先,你要定義一個想寫回的型別

import java.lang.reflect.Type;
import com.google.gson.reflect.TypeToken;

Type type = new TypeToken<自定義型別, Map, List .....>( ) { }.getType( );


2.再來進行寫回動作

import com.google.gson.Gson;

自定義型別 變數 = Gson.fromJson( "Json格式字串" , type);

透過這種方式,就可以將json物件轉型成自己想要的宣告,當然前提格式要剛好能符合,才能成功的轉型

官方範例:
Type listType = new TypeToken>() {}.getType();
List target = new LinkedList();
target.add("blah");

Gson gson = new Gson();
String json = gson.toJson(target, listType);
List target2 = gson.fromJson(json, listType);

參考連結:http://google-gson.googlecode.com/svn/tags/1.2.3/docs/javadocs/com/google/gson/Gson.html


沒有留言:

張貼留言