我正在尝试使用反射和递归将json数据映射到map[string]interface{}
。该函数的工作方式与预期的一样,但是当涉及到嵌套的json时,它不会映射所有值。
我有以下json结构:
{
"r_id" : "123456",
"title" : "brand new restarant with changed name",
"address": {
"city": {
"id": "25",
"name": "Dhaka"
},
"postal":"1213"
},
"description" : "here are some new desciption ..."
}
我正在尝试将此映射到字段的字符串和接口的值,其中字段的字符串(如果是嵌套的)将使用点.
连接。例如,映射title
为map[title:brand new restarant with changed name]
,但对于城市name
和id
,它将为map[address.city.id:25 address.city.name:Dhaka]
我写了version 3.5。
我的目标是在地图中获取key
和value
,其中嵌套json的键将是parent.child.child.child
的字符串,其为json path
,其值为最后一个孩子的价值
最终输出应该是这样的:map[address.city.id:25 address.city.name:Dhaka address.postal:1213 r_id:123456 title:brand new restarant with changed name descripton:here are some new desciption ...]
但它打印map[address.city.id:25 address.city.name:Dhaka r_id:123456 title:brand new restarant with changed name]
但不是所有字符串字段,例如地址的description
和state
我想我需要对类型进行排序然后运行递归函数?