【发布时间】:2018-12-12 02:01:06
【问题描述】:
我的挑战是我发现将字符串格式化为这样的 json 数据既困难又棘手:
{
"contacts":[
{
"displayName" : "Michael"
},
{
"displayName" : "Efe",
"phoneNumbers" : [
{
"value" : "+23470390989"
}
]
},
{
"displayName" : "Efe6",
"phoneNumbers" : [
{
"value" : "+2347002478"
}
]
},
{
"displayName" : "No Reg",
"phoneNumbers" : [
{
"value" : "+2347034567890"
}
]
},
{
"displayName" : "Efe2",
"phoneNumbers" : [
{
"value" : "09058528818"
}
]
},
{
"displayName" : "Whales",
"phoneNumbers" : [
{
"value" : "+23490574583"
},
{
"value" : "+23481847979"
}
]
}
]
}
我尝试格式化的字符串来自 Getcontact 类(它从手机获取联系人列表),希望很多人都熟悉从移动设备获取联系人的方法。
尝试过
到目前为止,我尝试过的是:
ArrayList<PhoneNuberStructure> phoneNuberStructures = new ArrayList<>();
phoneNuberStructures.add(/*arrays of phonenumbers will come here*/);
与
ContactsStructure contactsStructure= new ContactsStructure();
contactsStructure.setDisplayName(name);
contactsStructure.setPhoneNumbers(new PhoneNuberStructure);
这样
ArrayList<ContactsStructure> contacts = new ArrayList<ContactsStructure>();
contacts.add(contactsStructure);
但我并没有真正做对!而且很混乱……
任何帮助都会很好。 谢谢大家。
【问题讨论】:
-
你能解释一下有什么令人困惑的地方
-
我可以将这些字符串格式化为数组,但我不知道如何才能使这些数组成为对象中的一组数组......就像我把它放在那里的方式(The我想要的结果),看看我到目前为止所做的事情,我可以取联系人姓名,这很容易,至于联系人号码(然后我必须将它像对象组一样存储在数组中,这有点具有挑战性对我来说。)
-
您可以使用 GSon 然后致电
Gson gson = new GsonBuilder().create(); gson.toJson(topLevelObject);。您必须为每个中断创建一个新数组;
标签: java android arrays json android-studio