英文:
How to convert XML data into JSON data in Go?
问题
我想在Go中从XML文档创建JSON对象。目前我正在使用xml.Unmarshal函数将XML数据获取到结构体对象中,然后使用fmt.Sprintf函数以编程方式格式化一个JSON结构的字符串。
这段代码不易读,我觉得应该有更好的方法来实现。有人能否提供更好的建议呢?
我的当前代码是:
var root Root
_ = xml.Unmarshal(data, &root)
fmt.Fprintln(w, fmt.Sprintf("{\"type\": \"%s\", \"action\": \"save\", \"entry\": {\"ads_enabled\": 1, \"comments_enabled\": 0, \"cover_headline\": \"%s\", }}",
root.Type,
root.SeoHeadline, //coverheadline ))
type Root struct {
Type string `xml:"type,attr" json:"type"`
CoverHeadline string `xml:"Head>PageHeadline>p" json:"cover_headline"`
}
其中data是byte[]对象
谢谢
英文:
I want to create JSON object from a XML document in Go. Right now what I am doing is getting the XML data in struct object using xml.Unmarshall function and then programmatically format a string in JSON structure using fmt.Sprintf function.
This code is not readable and I feel some better way should be there to do it. Can someone please suggest something better.
My current code is
var root Root
_ = xml.Unmarshal(data, &root)
fmt.Fprintln(w, fmt.Sprintf("{\"type\": \"%s\", \"action\": \"save\", \"entry\": {\"ads_enabled\": 1, \"comments_enabled\": 0, \"cover_headline\": \"%s\", }}",
root.Type,
root.SeoHeadline, //coverheadline ))
type Root struct {
Type string `xml:"type,attr" json:"type"`
CoverHeadline string `xml:"Head>PageHeadline>p" json:"cover_headline"`
}
where data is byte[] object
Thanks
答案1
得分: 2
使用以下代码导入包和函数:
import "encoding/json"
使用json.Marshal
函数进行JSON编码。你可以在以下链接中找到有关该函数的更多信息:
http://golang.org/pkg/encoding/json/#Marshal
你还可以在以下链接中找到有关使用JSON的示例:
英文:
use
import "encoding/json"
and the function
json.Marshal
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论