Javascript REST和JSON-使用jackson将字符串转换为JSON数组
我不熟悉JSON和REST。我正在测试一个rest API,它返回如下字符串:Javascript REST和JSON-使用jackson将字符串转换为JSON数组,javascript,java,json,rest,Javascript,Java,Json,Rest,我不熟悉JSON和REST。我正在测试一个rest API,它返回如下字符串: [{ "Supervisor_UniqueName": "adavis", "Active": "true", "DefaultCurrency_UniqueName": "USD", "arches_type": "x-zensar/primary", "Groups": "", "TimeZoneID": "US/Pacific-New", "UniqueN
[{
"Supervisor_UniqueName": "adavis",
"Active": "true",
"DefaultCurrency_UniqueName": "USD",
"arches_type": "x-zensar/primary",
"Groups": "",
"TimeZoneID": "US/Pacific-New",
"UniqueName": "!!pl-10958-611879240",
"EmailAddress": "!!pl-10958-611879240@devmail.zensar.com",
"LocaleID_UniqueName": "en_US",
"Name": "!!pl-10958-611879240"
}, {
"Supervisor_UniqueName": "adavis",
"Active": "true",
"DefaultCurrency_UniqueName": "USD",
"arches_type": "x-zensar/primary",
"Groups": "",
"TimeZoneID": "US/Pacific-New",
"UniqueName": "!!pl-10958-789764779",
"EmailAddress": "!!pl-10958-789764779@devmail.zensar.com",
"LocaleID_UniqueName": "en_US",
"Name": "!!pl-10958-789764779"
}, {
"Supervisor_UniqueName": "adavis",
"Active": "true",
"DefaultCurrency_UniqueName": "USD",
"arches_type": "x-zensar/primary",
"Groups": "Report User",
"TimeZoneID": "US/Pacific-New",
"UniqueName": "105838945",
"EmailAddress": "105838945@devmail.zensar.com",
"LocaleID_UniqueName": "en_US",
"Name": "105838945"
}, {
"Supervisor_UniqueName": "adavis",
"Active": "true",
"DefaultCurrency_UniqueName": "USD",
"arches_type": "x-zensar/primary",
"Groups": "Report User, Report Manager, Report Administrator",
"TimeZoneID": "US/Pacific-New",
"UniqueName": "112352755",
"EmailAddress": "112352755@devmail.zensar.com",
"LocaleID_UniqueName": "en_US",
"Name": "112352755"
}]
我调用rest API如下:
final ResponseEntity<String> responseEntity = restTemplate.getForEntity(resourceUrl , String.class);
final ResponseEntity ResponseEntity=restemplate.getForEntity(resourceUrl,String.class);
其中restemplate
属于restemplate
我想将它们转换成一个JSON数组,访问每个JSON对象并获取每个对象的字段和值
可以用jackson来做吗?你可以用
这是JSON的一部分:
[
{
"Supervisor_UniqueName":"adavis",
"Active":"true",
"DefaultCurrency_UniqueName":"USD",
"arches_type":"x-zensar/primary",
"Groups":"",
"TimeZoneID":"US/Pacific-New",
"UniqueName":"!!pl-10958-611879240",
"EmailAddress":"!!pl-10958-611879240@devmail.zensar.com",
"LocaleID_UniqueName":"en_US",
"Name":"!!pl-10958-611879240"
},
{
"Supervisor_UniqueName":"adavis",
"Active":"true",
"DefaultCurrency_UniqueName":"USD",
"arches_type":"x-zensar/primary",
"Groups":"",
"TimeZoneID":"US/Pacific-New",
"UniqueName":"!!pl-10958-789764779",
"EmailAddress":"!!pl-10958-789764779@devmail.zensar.com",
"LocaleID_UniqueName":"en_US",
"Name":"!!pl-10958-789764779"
}
]
给你一个想法:
public MyClass {
@JsonProperty("Supervisor_UniqueName")
private String superVisorUniqueName;
@JsonProperty("Active")
private String active;
// etc
// getters and setters
}
将JSON映射到您的MyClass
:
ObjectMapper mapper = new ObjectMapper();
List<MyClass> obj = mapper.readValue(json, new TypeReference<List<MyClass>>() {});
ObjectMapper mapper=new ObjectMapper();
List obj=mapper.readValue(json,new TypeReference(){});
您尝试了什么,得到了什么,期望得到什么,遇到了什么错误?抱歉。。我做了更多的研究,这篇文章解决了我的问题,非常感谢你的回复。恐怕我不想编写mapper类,因为它不可管理。现在使用API我得到了用户数据,像这样RESTAPI将返回不同类型的主数据(供应商、产品、商品代码、国家等)。恐怕我不能为每个人写POJO。这太过分了。你怎么认为?