当前位置: 首页 > 面试题库 >

JSON有时数组有时对象

姬飞昂
2023-03-14
问题内容

我正在使用一个API,该API对特定字段的响应有时是对象,有时是对象数组。

我创建了一个结构以解组json响应,并且效果很好。但是,在json响应包含对象数组的情况下,解组显然会失败。我该如何处理Go中的这种情况?

Single Response:
{
    "net": {
                "comment": {
                    "line": {
                        "$": "This space is statically assigned",
                        "@number": "0"
                    }
                }
            }
}


Array Response:
{
    "net": {
                "comment": {
                    "line": [
                        {
                            "$": "All abuse issues will only be responded to by the Abuse",
                            "@number": "0"
                        },
                        {
                            "$": "Team through the contact info found on handle ABUSE223-ARIN",
                            "@number": "1"
                        }
                    ]
                }
            }
}

我考虑过创建该结构的2个版本,然后以某种方式确定我返回了哪个实例,但这感觉很浪费。我也尝试过将其编组为map [string] instance
{},但我有些迷茫,不确定我是否朝正确的方向前进。

任何意见,将不胜感激。


问题答案:

您是否尝试将编组到map [string] interface {}中?

    type Net struct{
        Comment map[string]interface{} `json:"comment"`
    }

然后Comment [“ line”]值可能是数组或对象。



 类似资料:
  • 问题:有时访问请求目标是单个目标,有时是数组 问题:如何根据找到的内容将Jackson反序列化为单个目标或数组? 单目标JSON 目标JSON数组 “目标”POJO: })@生成(“jsonSchema2pojo”)公共类目标实现可序列化{ }

  • 服务器JSON数据显示在活动中使用改造。JSON数据通过gson转换。 给错误:"java.lang.IllegalState异常:预期BEGIN_ARRAY但BEGIN_OBJECT在第1行第2列路径$" JSON格式: 代码: 主要活动。kt

  • 问题内容: 我从API获取的数据返回一个对象,但是当有多个对象时,它将在同一键中返回一个数组。使用我正在使用的当前模型(结构),显示数组时解码失败。 这些结果是随机排序的,这意味着我不知道何时将对象或数组提供给我。 有没有一种方法可以创建一个模型,该模型考虑到这一事实,并且可以为值(“ String”或“ [String]”)分配正确的类型以进行转换,从而继续解码而不会出现问题? 这是返回对象的示

  • 问题内容: 我有一个从包含重复密钥的数据库中获取的JSON字符串。我想通过将重复键的值组合到数组中来删除重复键。 例如 输入项 输出量 实际数据是一个可能嵌套的大文件。我不会提前知道有多少对。 我需要为此使用Java。org.json由于重复的键而引发异常,gson可以解析该字符串,但是每个重复的键都会覆盖最后一个。我需要保留所有数据。 如果可能的话,我想不编辑任何库代码就这样做 问题答案: 从今

  • 问题内容: 使用JSON数组有什么区别和优点: 与JSON对象: 问题答案: 听起来不算聪明,但是… 和之间的区别是 使用和设置对象… 如果该值是一个变量,则可以像访问… 数组使用integer [1]索引并获取一个值。 [1]是的,我知道…在Java中,整数索引实际上已在后台转换为字符串。不用管 特别是在考虑JSON时,请考虑采用整数值的数组。

  • 几天前,我们切换到WSO2 Enterprise Integrator版本6.1.1-update24,具有输入有效负载(JSON with array)的服务现在会出现以下错误: 注意1:使用WSO2 Enterprise Integrator V6.1.1(无更新),我们不会遇到此错误,endpoint对上述有效负载的响应与预期相同: 在研究抛出错误的类时,我们注意到synapse-commo