Когда я пишу Python, я хотел бы сделать это:Есть ли какой-нибудь lib, который может облегчить ОПЕРАЦИИ JSON в golang?
d = {"apple": "red", "book":["history", "art", "science"]}
print json.JSONEncoder().encode(d)
тогда я получаю строку JSON
'{"apple":"red","book":["history","art","science"]}'
, но когда я хочу сделать это в Golang, все становится более сложным, у меня есть определить-структуру первый:
type Gadget struct {
Apple string
Book []string
}
g := Gadget{Apple: "red", Book: []string{"history", "art", "science"}}
bytes, _ := json.Marshal(g)
fmt.Println(string(bytes))
есть некоторый golang Lib, которые могут помочь мне манипулировать строку JSON, как питон? У меня может быть много JSON, у которых есть разные структуры. Определить их - это суетливая работа. Я даже не думаю, что есть причина lib, поскольку в golang нет механизма перегрузки индексатора.
Что вы, ребята, говорите?
хороший ответ, спасибо. если у меня есть строка json '{" apple ":" red "," book ": [" history "," art "," science "]} ' и я хочу добавить элемент, чтобы получить '{" apple " : «красный», «книга»: [«история», «искусство», «наука», «философия»]} 'что было бы самым быстрым способом? –
@ 刘 韦 菠 Это был бы такой ответ: [Взять строку JSON, развязать ее на карту, отредактировать и перевести ее в байтовый фрагмент] (http://stackoverflow.com/questions/28877512/taking-a-json- строка-демаршалинга-он-в-а-mapstringinterface-редактирование-ан/28878037 # 28878037). – icza