dongzheng8463 2017-01-01 21:29
浏览 210

Golang-使用反射和递归映射JSON

I am trying to map a json data into map[string]interface{} using reflect and recursion . The function works like expected but it is not mapping all the value when it comes to nested json.

I have this following json structure:

{
  "r_id" : "123456",
  "title" : "brand new restarant with changed name",
  "address": {
      "city": {
        "id": "25",
        "name": "Dhaka"
      },
      "postal":"1213"
  },
  "description" : "here are some new desciption ..."
}

I am trying to map this into string for field and interface for value where the string for field if it is a nested will be joined with a dot .. for example mapping title is map[title:brand new restarant with changed name] but for city name and id it will be map[address.city.id:25 address.city.name:Dhaka]

I wrote this script.

My goal is to get key and value in a map where key for nested json will be a string like parent.child.child.child which is a json path and the value will be the value of the last child

Final output should be like this: 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 ...] but it prints map[address.city.id:25 address.city.name:Dhaka r_id:123456 title:brand new restarant with changed name] But not all string field like description and state of address

I guess I need to sort the type then run the recursive function?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 csmar数据进行spss描述性统计分析
    • ¥15 各位请问平行检验趋势图这样要怎么调整?说标准差差异太大了
    • ¥15 delphi webbrowser组件网页下拉菜单自动选择问题
    • ¥15 wpf界面一直接收PLC给过来的信号,导致UI界面操作起来会卡顿
    • ¥15 init i2c:2 freq:100000[MAIXPY]: find ov2640[MAIXPY]: find ov sensor是main文件哪里有问题吗
    • ¥15 运动想象脑电信号数据集.vhdr
    • ¥15 三因素重复测量数据R语句编写,不存在交互作用
    • ¥15 微信会员卡等级和折扣规则
    • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
    • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?