将请求正文解组为结构不起作用

时间:2019-07-09 12:52:01

标签: json go unmarshalling

我从http请求中输入的内容如下:

{
  "Id" : "33",
  "info" : {"attributes":{"type":"false",
                          "status" : "true"}}
  }

我只想解组“ info”部分,因此我首先将整个输入解组到map [string]接口。

但是现在我有问题了,我不确定该怎么做。

json.Unmarshal([]byte(request["info"].(string)), &infoStruct)

不起作用,我也尝试过Sprintf,但是都给出了相同的错误。

interface conversion: interface
{}
is map[string]interface
{}
, not string: TypeAssertionError

如果我请求[[info]]。(infoStruct),我会遇到相同的错误,唯一可以将其强制转换为另一个map [string] interface {}。

但是,如果“ info”键中的整个数据是字符串,则它确实起作用。由于主体从一开始就是一个字符串,是否有可能在将其解组到接口映射之前先提取“ info”元素?还是有其他解决方案?

我尝试将正文解组为map [string] string,但这使“ info”键为空。

0 个答案:

没有答案