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

将字符串映射到json对象的多种类型?

徐智渊
2023-03-14
问题内容

我想创建一个地图,可以将其转换为json对象,例如

{
   "a": "apple",
   "b": 2
}

但是golang指定使用类型声明地图,因此我可以使用map [string] string或map [string] int。我如何创建上述的json对象

注意:直到运行时或需要创建json对象时,我才知道需要哪些数据和/或类型。因此,我不能只创建像

type Foo struct {
    A string `json:"a"`
    B int `json:"b"`
}

问题答案:

您可以随时使用interface{}存储任何类型。如encoding/json包装袋中的文件所述:

若要将JSON解组为接口值,请解组JSON为包含在接口值中的具体值。如果接口值为nil,即其中没有存储具体值,则Unmarshal会将其中之一存储在接口值中:

bool,对于JSON布尔值
float64,对于JSON数字
字符串,对于JSON字符串
[] interface {},对于JSON数组
map [string] interface {},对于JSON对象,
nil对于JSON null


只需执行以下操作:

m := map[string]interface{}{"a":"apple", "b":2}


 类似资料:
  • 问题内容: 我有一个JSON响应,我需要将对应的JSON字符串映射到特定的Response类,是否有任何工具或框架可以做到这一点。 响应类为: Json响应字符串为{“ 0”:{“ 0”:“ Rockey”,“ 1”:“ John”}} 我将Apache CXF Framework与Jettison一起使用,因为JSON Provider还使用JAXB将数据连接到低带宽客户端。 请注意,我要将数字

  • 我正试图利用谷歌电子表格(谷歌脚本)中的地图功能,使用API从Bittrex获取我的帐户硬币余额。这是我的JSON对象: 理想情况下,我希望根据结果中的键和使用每个对象数据的基础行自动填充标题行。我看到了spme解决方案如何为每种或更复杂的方式使用。但我想这可以通过映射来实现。下面是我如何映射顶行,但不知道如何映射值: 谷歌电子表格中的预期输出为

  • 问题内容: 我正在尝试将JSON文件映射到类对象,然后根据新接收的JSON更新卡。 我的JSON结构是这样的 我的班级看起来像这样: 如何将JSON文件中的值映射到CardInfo类创建的对象的字段中? 更新资料 以下试用版在 ci.description上 打印为null ,是否表示从未创建该对象? 更新2 打印cardInfo给出以下内容: {$ class:FirstCard,id:1,说明

  • 我有这个json字符串: 当我用Jackson将其转换为映射[字符串,对象]时,开始日期的类型是字符串,我如何告诉Jackson将其转换为日期时间类型?

  • 我是Mapstruct的新手。我有一个Word对象,它包含一个字符串值和一组它自己,我想把它映射到WordDTO,它包含一个值和一组字符串值。我不知道怎么做。正如我在注释中所说,mapstruct不能映射两个对象是有道理的,但如果它有帮助,我将错误放在下面: 我为映射实现了这个接口: 谢谢你的帮助。