我正在使用外部Web服务并收到JSON响应。在此响应中,有一个对象“实体”,其中包含多个数组,每个数组之前都有一个名称。
我想在数组对象本身中的数组前面添加名称。
例如,这是原始回复:
{
"entities": {
"entity": [
{
"confidence": 1,
"value": "user",
"type": "value"
},
{
"confidence": 1,
"value": "insurance form",
"type": "value"
}
],
"ui_page_step": [
{
"confidence": 1,
"value": "step 1",
"type": "value"
}
],
"userrole_ano": [
{
"confidence": 0.96535832252792,
"value": "anonymous user"
}
]
}
}
我需要将其转换为:
{
"entities": {
"entity": [
{
"name": "entity",
"confidence": 1,
"value": "user",
"type": "value"
},
{
"name": "entity",
"confidence": 1,
"value": "insurance form",
"type": "value"
}
],
"ui_page_step": [
{
"name": "ui_page_step",
"confidence": 1,
"value": "step 1",
"type": "value"
}
],
"userrole_ano": [
{
"name": "userrole_ano",
"confidence": 0.96535832252792,
"value": "anonymous user"
}
]
}
}
如何在Java中将原始响应转换为所需的响应?
答案 0 :(得分:1)
这是(几种可能的一种)解决方案:
它使用Jackson库将Json解析为Java @NgModule()
export declare class AppConfigModule {
static forRoot(config?: FunkyConfig): ModuleWithProviders;
}
export declare class FunkConfig {
// your config
}
,与JSONObject相比(相对)更容易浏览和修改。
方法Map
假定一个根putCollectionNamesInsideEntries()
条目具有多个集合作为值。对其进行遍历,并添加具有集合名称的"entities"
条目。
地图被序列化回Json(并发送到"name"
)
System.out