如何在JSON响应中在数组对象本身中的数组前面添加名称?

时间:2019-04-11 12:17:48

标签: java json

我正在使用外部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中将原始响应转换为所需的响应?

1 个答案:

答案 0 :(得分:1)

这是(几种可能的一种)解决方案:

  1. 它使用Jackson库将Json解析为Java @NgModule() export declare class AppConfigModule { static forRoot(config?: FunkyConfig): ModuleWithProviders; } export declare class FunkConfig { // your config } ,与JSONObject相比(相对)更容易浏览和修改。

  2. 方法Map假定一个根putCollectionNamesInsideEntries()条目具有多个集合作为值。对其进行遍历,并添加具有集合名称的"entities"条目。

  3. 地图被序列化回Json(并发送到"name"

    System.out