将一种JSON结构转换为另一种JSON结构

时间:2018-09-12 01:21:57

标签: json rest

客户端希望使用以下格式的JSON字符串

descriptions": [
      {
        "lang": "string",
        "size": "string",
        "text": "string",
        "type": "string"
      }
    ],

,但是接收到的JSON有所不同-如下所示

"descriptions":{
  "desc":[
{
      "size":string,
      "lang":"string",
      "type":"string",
      "content":"string"
    }
  ]
},

无论如何,有没有地方忽略“ desc”部分-例如。使用JSON注释?
上下文:我正在通过REST API调用传递此JSON,它将在接收端自动转换为Java对象。

4 个答案:

答案 0 :(得分:0)

一个简单的

descriptions = descriptions.desc;

会的。

答案 1 :(得分:0)

您只需构造所需的对象即可

var clientDescriptions = descriptions.desc.map(function(d) {
   size: d.size,
   type: d.type,
   lang: d.lang,
   content: d.text
});

答案 2 :(得分:0)

如果使用的是Gson,则可以对Java模型使用自定义JsonDeserializer / JsonSerializer。这样,您就可以干净地实现模型对象和API,而不必处理不同的json结构。

答案 3 :(得分:-1)

以我的个人经验,后端有一个错误,必须解决,它一定不能发送格式错误的数据。从长远来看,这是最好的解决方案。