[英]String to JSON array of json objects
我有一個Sring(JSON數組) [{"Phonetype":"Pre","Phone":"918282311"},{"Phonetype":"pre","Phone":"918333222"}]
現在我想將此字符串轉換為JSON對象的JSON數組。
在我的代碼中,我只能創建對象的JSONrray ...
@Override
public ArrayList<TelephoneNumber> convertToAttribute(String s) {
ArrayList<TelephoneNumber> list = new ArrayList<TelephoneNumber>();
JSONParser parser = new JSONParser();
JSONArray arr = null;
try {
arr = (JSONArray) parser.parse(s);
}
catch (ParseException e) {
e.printStackTrace();
}
for (JSONObject jo: arr)
{
System.out.println("obj " +jo.get("Phone");
}
//create a list
return list;
}
如何創建JsonObjects的JsonArray?
我建議看看Gson 。 這是由Google Overlords編寫的一系列Java類,用於處理Java類之間的JSON序列化和反序列化。
因此,對您的TelephoneNumber
類的外觀進行一些假設,您應該能夠做到這一點:
Type listType = new TypeToken<ArrayList<TelephoneNumber>>() {
}.getType();
ArrayList<TelephoneNumber> yourList = new Gson().fromJson(s, listType);
然后返回yourList
....
考慮使用Gson解析json值,並在GsonBuilder
上使用FieldNamingPolicy
獲取正確處理大駝峰名稱的Gson
對象:
Gson gson = new GsonBuilder()
.setFieldNamingPolicy(FieldNamingPolicy.UPPER_CAMEL_CASE)
.create();
Type listType = new TypeToken<ArrayList<TelephoneNumber>>() {}.getType();
List<TelephoneNumber> numbers = gson.fromJson(jsonArray, listType);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.