dongqian3198
2019-07-17 04:51
浏览 23
已采纳

如何在另一个地图界面中添加地图界面?

Here I have message a map interface. There are 2 keys in it key1, key2. Key2 has 2 keys k2, k3. I want to add another key in it. So I did this.

message := map[string]interface{}{
    "key1": map[string]string{
        "k1" : "",
    },
    "key2": map[string]interface{}{
        "k2": "",
        "k3" : map[string]interface{}{
            "kk1"       : "", 
        },
    },
}
k := map[string]interface{}{
        "kk2"   : "",
}
message["key2"]["k4"] = k

b, err := json.Marshal(message)
if err != nil {
    fmt.Println(err)
}
fmt.Println(string(b))

But I am getting error as:

message["key2"]["k4"] (type interface {} does not support indexing)

图片转代码服务由CSDN问答提供 功能建议

在这里,我有一条消息映射界面。 其中有两个键,key1,key2。 Key2具有2个键k2,k3。 我想在其中添加另一个键。 所以我做到了。

 消息:= map [string] interface {} {
“ key1”:map [string] string {
“ k1”:“”  ,
},
“ key2”:map [string] interface {} {
“ k2”:“”,
“ k3”:map [string] interface {} {
“ kk1”:“”  ,
},
},
} 
k:= map [string] interface {} {
“ kk2”:“”,
} 
message [“ key2”] [“ k4”] = k  
 
b,错误:= json.Marshal(消息)
if错误!=无{
 fmt.Println(err)
} 
fmt.Println(string(b))
   
 
 

但是我收到以下错误消息:

  message [“ key2”] [“ k4”](类型接口{}不支持索引 )
   
 
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dpq39825 2019-07-17 05:07
    已采纳

    Assert the interface{} value to a map[string]interface{} and index that.

    message["key2"].(map[string]interface{})["k4"] = k
    
    打赏 评论

相关推荐 更多相似问题