[英]String to JSON array of json objects
I have a Sring s (JSON array) [{"Phonetype":"Pre","Phone":"918282311"},{"Phonetype":"pre","Phone":"918333222"}]
我有一个Sring(JSON数组) [{"Phonetype":"Pre","Phone":"918282311"},{"Phonetype":"pre","Phone":"918333222"}]
and now i want to convert this string to JSON array of the JSON objects. 现在我想将此字符串转换为JSON对象的JSON数组。
in my code i only can create a JSONrray of objects... 在我的代码中,我只能创建对象的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;
}
how create a JsonArray of JsonObjects? 如何创建JsonObjects的JsonArray?
I'd recommend taking a look at Gson . 我建议看看Gson 。 It is a series of Java classes written by The Google Overlords that handles serializing and deserializing JSON from and to Java classes. 这是由Google Overlords编写的一系列Java类,用于处理Java类之间的JSON序列化和反序列化。
So, making a few assumptions about what your TelephoneNumber
class looks like, you should be able to do this: 因此,对您的TelephoneNumber
类的外观进行一些假设,您应该能够做到这一点:
Type listType = new TypeToken<ArrayList<TelephoneNumber>>() {
}.getType();
ArrayList<TelephoneNumber> yourList = new Gson().fromJson(s, listType);
Then return yourList
.... 然后返回yourList
....
Consider using Gson to parse json values and use FieldNamingPolicy
on a GsonBuilder
to get a Gson
object that handles upper camel case names correctly: 考虑使用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.