从客户端向服务器发送动态 JSON

问题描述

我在 spring 启动时有一个用 JavaScript 编写的客户端和一个用 Java 编写的服务器端。我的客户端中有以下 JSON 数组。

[
  {
    "names": [
      {
        "default": "somelink"
      },{
        "nr": "somelink"
      },{
        "pr": "somelink"
      }
    ]
  },{
    "circle": [
      {
        "ID": [
          {
            "red": "someData"
          }
        ]
      },{
        "ID2": [
          {
            "blue": "somedata"
          }
        ]
      }
    ]
  },{
    "square": [
      {
        "ID3": []
      }
    ]
  },{
    "triangle": []
  }
]

现在以下属性将始终固定在 JSON 数组中 - names,circle,square,triangle。现在在我的应用程序中,您可以添加任何您喜欢的对象。因此,在此示例中,我们有两个圆圈 IDID2,它们都附加了一些数据 (red and blue)。我们有一个没有数据也没有三角形的正方形 ID3。名称固定属性中的每个属性,圆形,方形和三角形都可以更改。

现在我想将它发送到 Java 中的服务器端,但我正在努力了解如何做到这一点,因为我的 JSON 不是静态的。谁能帮我吗?提前致谢

解决方法

您能否详细解释一下您努力查看 JSON 属性如何变化的含义?

乍一看,我可以看到通过以不同的方式构建 JSON 对象,您可以为自己节省大量工作:

对于主要属性(如(名称、圆形、正方形、三角形))的整个 JSON 对象,您可以使用以下内容代替创建具有数组值的对象:

{
"names": [...],"circle": [...],"square": [...],"triangle": [...]
}

对于“名称”属性,请考虑这样做:(最后这一切都取决于您将要存储在(默认值,nr, pr)

"names": {
    "default": "somelink","nr": "somelink","pr": "somelink"
}

对于圆圈键:

代替:

"circle": [
      {
        "ID": [
          {
            "red": "someData"
          }
        ]
      },{
        "ID2": [
          {
            "blue": "somedata"
          }
        ]
      }
    ]

你可以这样做:

"circle": {
  "ID": [
          {
            "red": "someData"
          }
        ],"ID2": [
          {
            "blue": "somedata"
          }
        ]
}

因此,作为一个完整的对象,您可以将其结构如下:

{

 "names": {
    "default": "somelink","pr": "somelink"
},"circle": {
            "ID": [
                   {
                     "red": "someData"
                   }
             ],"ID2": [
                    {
                     "blue": "somedata"
                   }
            ]
},"square": {
            "ID3": []
},"triangle": []

}

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...