簡體   English   中英

馬歇爾MAP到JSON

[英]Marshall MAP to JSON

我正在開始從Python轉到GoLang的過程中,而且我正在設法弄清數據類型。 我需要將地圖編組到以下JSON,但我不確定如何構造地圖。

這是我嘗試過的方法,但對我不起作用。

data := map[string]string{"Offset": "0", "Properties": map[string]string{"key": "Type", "value": "User"}, "Category": "all", "Locations": map[string]string{}, "Accounts": "100" }
data_json, _ := json.Marshal(data)
fmt.Println(string(data_json))

預期結果:

{
"Locations": [],
"Dates": [],
"Properties": [
  {
    "key": "Type",
    "value": "User"
  }
 ],
 "Category": "all",
 "Accounts": [],
 "Offset": 0,
 "Limit": 100
}

問題是您聲稱要寫一個字符串到字符串的映射(key是一個字符串,value是一個字符串)。 但是您具有鍵/值對: "Properties": map[string]string{"key": "Type", "value": "User"} ,並且該值不是字符串,而是另一個映射。 如果將數據定義為字符串到接口的映射,則它應該可以工作。 看起來更像這樣:

data := map[string]interface{}{"Offset": "0", "Properties": map[string]string{"key": "Type", "value": "User"}, "Category": "all", "Locations": map[string]string{}, "Accounts": "100" }

這是一個工作示例: http : //play.golang.org/p/HjHH463J_r

如果您不確定什么是接口以及它們為什么起作用,那么文檔將對它進行很好的解釋。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM