JSON 嵌套对象和数组的映射器
JSON mapper for Nested objects and arrays
我有一个来自网络服务响应的 Json 字符串。
此 JSON 字符串包含嵌套对象和数组。我尝试使用 jackson 和 GSON 将其映射到 java 个对象,但在这两种情况下我都遇到了错误。
这是我的 Json:
{"events": [{
"Code": "4",
"eventDataSet": {
"Bar":{"EvDesc":"WRAP_UP"},
"Foo":{
"AcssId":"**1234",
"EvCSId":"1234",
"custId":"3501234","Recid":"bknz"
}
}
]}
我想从此 json 中提取 Bar 和 Foo 对象的值。
请建议我如何映射此类响应。
Gson
和 Jackson
等库在反序列化有效的 JSON
字符串时应该没有任何问题。
问题很可能出在您用来反序列化输入的对象类型上。
您可以使用 this site 从您的 JSON
响应之一生成 POJO。输入您的 JSON 和 select JSON
作为源类型。
然后,Gson
:
Gson gson = new GsonBuilder().create();
Person p = gson.fromJson(inputString, Example.class);
您的 json 似乎有问题。这里修改了 json,我可以使用 jackson 将它转换为对象。
{
"events": [{
"code": "4",
"eventDataSet": {
"bar": {
"evDesc": "WRAP_UP"
},
"foo": {
"acssId": "**1234",
"evCSId": "12??34",
"custId": "3501234",
"recid": "bknz"
}
}
}]
}
我有一个来自网络服务响应的 Json 字符串。
此 JSON 字符串包含嵌套对象和数组。我尝试使用 jackson 和 GSON 将其映射到 java 个对象,但在这两种情况下我都遇到了错误。
这是我的 Json:
{"events": [{
"Code": "4",
"eventDataSet": {
"Bar":{"EvDesc":"WRAP_UP"},
"Foo":{
"AcssId":"**1234",
"EvCSId":"1234",
"custId":"3501234","Recid":"bknz"
}
}
]}
我想从此 json 中提取 Bar 和 Foo 对象的值。
请建议我如何映射此类响应。
Gson
和 Jackson
等库在反序列化有效的 JSON
字符串时应该没有任何问题。
问题很可能出在您用来反序列化输入的对象类型上。
您可以使用 this site 从您的 JSON
响应之一生成 POJO。输入您的 JSON 和 select JSON
作为源类型。
然后,Gson
:
Gson gson = new GsonBuilder().create();
Person p = gson.fromJson(inputString, Example.class);
您的 json 似乎有问题。这里修改了 json,我可以使用 jackson 将它转换为对象。
{
"events": [{
"code": "4",
"eventDataSet": {
"bar": {
"evDesc": "WRAP_UP"
},
"foo": {
"acssId": "**1234",
"evCSId": "12??34",
"custId": "3501234",
"recid": "bknz"
}
}
}]
}