在我的项目中,我收到了json数据:
[{"mobileNumbers":[{"number":"+9999999999","type":"TYPE_MOBILE"}]},
{"mobileNumbers":[{"number":"+9999999999","type":"TYPE_MOBILE"}]}]
但我想要如下:
[{"number":"+9999999999","type":"TYPE_MOBILE"},
{"number":"+9999999999","type":"TYPE_MOBILE"}]
我有联系班: -
public class Contact {
private List<ContactMobile> mobileNumbers;
public Contact() {
}
public List<ContactMobile> getMobileNumbers() {
return mobileNumbers;
}
public void setMobileNumbers(List<ContactMobile> mobileNumbers) {
this.mobileNumbers = mobileNumbers;
}
}
public class ContactMobile {
private String type;
private String number;
public ContactMobile() {
}
public ContactMobile(String type, String number) {
super();
this.type = type;
this.number = number;
}
//setters and getters....
}
这里我设置了获取json数据:
List<ContactMobile> mobiles = new ArrayList<ContactMobile>();
List<Contact> contacts = new ArrayList<Contact>();
//here mobiletype and number is the data I am putting..
ContactMobile contactMobile = new ContactMobile(mobiletype, number);
Contact contact = new Contact();
contact.setMobileNumbers(mobiles);
contacts.add(contact);
我在做错的地方???为什么我没有收到我的欲望输出?请各位建议我......
答案 0 :(得分:0)
大多数(如果不是全部)用于Java中JSON序列化/反序列化的库(例如Jackson)默认以这种方式工作,因此您看到的输出是一致的。
例如,如果使用默认配置序列化使用Jackson的Contact类型的对象,则应该得到:
{
"mobileNumbers": [
{"type": ..., "number": ... },
{"type": ..., "number": ... },
...
]
}
其中:
现在,回答你的问题:
但我想要如下:
[{&#34;数&#34;:&#34 + 9999999999&#34;&#34;类型&#34;:&#34; TYPE_MOBILE&#34;}, {&#34;数&#34;:&#34 + 9999999999&#34;&#34;类型&#34;:&#34; TYPE_MOBILE&#34;}]
你需要做的就是序列化&#34; mobileNumbers&#34; Contact对象的列表,而不是完整的Contact对象。如何做只取决于您当前使用的库。
我希望有所帮助!