iT邦幫忙

0

要怎麼將取得的字串用Gson轉物件

下列是String的內容
[
{
"a":"1",
"b":"2"
},
{
"a":"1",
"b":"2"
}
]
因為list沒有名字所以無法轉成對應物件,想請問該怎麼接收讓他自動轉換對應物件
用GOOGLE的GSON.fromJson因為沒有物件名轉不過去
我用HttpEntity接收,還是有其他接收方法可以不用EntityUtils.toString

0
dscwferp
iT邦高手 1 級 ‧ 2021-04-30 13:54:17

外面再包一層 如何?
比如:

{"GSON":
[
{
"a":"1",
"b":"2"
},
{
"a":"1",
"b":"2"
}
]
}


補上 名字

["GSON":
{
"a":"1",
"b":"2"
},
{
"a":"1",
"b":"2"
}
]

試試看!
希望能幫您忙!

0

跟GSON不熟,不過不知是否反解的Function都會差不多

像JSon的套件就用以下方法,以下是C#

//你的物件
public class Item
{
  public string a {get;set;}
  public string b {get;set;}
}
using Newtonsoft.Json

string json = [
{
"a":"1",
"b":"2"
},
{
"a":"1",
"b":"2"
}
];

//反解時指定該類別
List<Item> items = JsonConvert.DeserializeObject<List<Item>>(json);

不知道GSON有無類似方法~給你參考看看

0
koro_michael
iT邦新手 3 級 ‧ 2021-04-30 16:32:08
Type listType = new TypeToken<List<Map<String, String>>>(){}.getType();
(new Gson()).fromJson(jsonString, listType);

有幫助請給一個最佳解答

我要發表回答

立即登入回答