草庐IT

marshal_load

全部标签

mysql - 正确删除 Go 中的第二个 json.Marshal

无论出于何种原因,我在尝试使用MySQL存储在Go中构建一个简单的RestAPI时,添加了第二个json.Marshal,它是双重编码并生成带有转义引号等的结果。我可以去掉引号,但我认为我不应该首先发生两个json.Marshal事情。问题是双重的-1)哪个适合删除(倾向于第一个,因为“结果”应该是更大的数组)和2)如何在删除后保持代码运行?当我开始遇到各种错误时,我不能简单地删除第一个。以下是代码的相关部分:typeVolumestruct{IdintNamestringDescriptionstring}...向前跳过....varresult=make([]string,1000

json - 如何为 json.Marshal 的失败案例编写单元测试?

我有以下代码:funcpolicyDocumentToStr(docmap[string]interface{})(*string,error){policy,err:=json.Marshal(doc)iferr!=nil{log.Debugf("Errorconvertingpolicydocumenttostring.Error%s",err)returnnil,err}policyAsString:=string(policy)return&policyAsString,nil}我想编写一个单元测试来涵盖json.Marshal(doc)返回错误的情况。有人可以建议我如何产生错

go - 为什么 time.Time 在 bson.Marshal 和 bson.Unmarshal 之后不相等?

为什么会输出false?我期待true...packagemainimport("fmt""time""gopkg.in/mgo.v2/bson")typeSstruct{Ttime.Time}funcmain(){t:=S{time.Now()}bytes,_:=bson.Marshal(t)vardtSbson.Unmarshal(bytes,&dt)fmt.Println(dt.T.Equal(t.T))}gorun上面会输出false,为什么Marshal/Unmarshal不保留原来的值? 最佳答案 Bson存储时间的精度

go - json.Marshal 设置为空

我是Go的新手。我正在尝试从我的一个网站上抓取数据,以便能够在Go应用程序中使用它。我使用goroutines和sync.WaitGroup来等待结果,但我遇到了问题。如果我使用goroutines并尝试将json.Marshal用于我的数据集,我在结构中有空数组,它填充在goroutines中。如果我在没有例行程序的情况下填充我的结构,我就会一切正常。这是我的结构:typeCategoryScrapperstruct{Namestring`json:"name"`Linkstring`json:"link"`Products[]Product.ProductData`json:"pr

go - 本地图的键是结构时 Marshal/unMarshal 的问题

我定义了一个名为Student的结构和一个名为score的映射。数据结构如下图:typeStudentstruct{CountryIDintRegionIDintNamestring}stu:=Student{111,222,"Tom"}score:=make(map[Student]int64)score[stu]=100我正在使用json.Marshal将分数编码到json中,但我无法使用json.Unmarshal来解码此json。下面是我的代码。我正在使用函数GetMarshableObject将structStudent转换为可编码的字符串。谁能告诉我如何处理这个json以将

xml - Golang xml marshal 追加更深的项目?

我在这里举个例子:https://www.socketloop.com/tutorials/golang-create-new-xml-file如果它在Staff之后更深一层怎么办?typeStaffstruct{XMLNamexml.Name`xml:"staff"`IDint`xml:"id"`FirstNamestring`xml:"firstname"`LastNamestring`xml:"lastname"`UserNamestring`xml:"username"`ThingThing`xml:"thing"`}我将如何追加?我试过这样的事情:v.Staffs=appen

go - 如何在golang中使用atomic的Load和Store

这是一段代码,用于测试使用atomic.Value对结构B的写入和读取的相互访问,但我遇到了一些错误,指示无效指针访问。所以我该怎么做?这样做的惯用语是什么?typeAstruct{numMapmap[string]int}typeBstruct{numMapmap[string]*A}varstoreatomic.ValuevarchanAchanbool=make(chanbool,100)varchanBchanbool=make(chanbool,100)varb*B=&B{}funcfetchB(){fori:=0;i很抱歉,我在问题的第一篇文章中遗漏了一些内容。如果我评论b

xml - 在 Go 中编码(marshal) XML 时如何保留标记的 namespace url

当我解码和编码此XML时,命名空间的URL消失了:tekst变成:代码:packagemainimport("encoding/xml""fmt")typeRootstruct{XMLNamexml.Name`xml:"root"`XmlNSstring`xml:"xmlns:urn,attr"`CopyrightCopyright`xml:"urn:copyright,omitempty"`}typeCopyrightstruct{Textstring`xml:",chardata"`}funcmain(){root:=Root{}x:=`text`_=xml.Unmarshal([

html - 使用类似 Marshal 的编码器操作 HTML

我有几个html模板,我使用css选择器(cascadia)的组合填充它们并手动操作html节点(使用x/html)。有没有更好的方法来做到这一点?类似xml的东西.编码器?我试过使用xhtml和xml包(Decoder.AutoClose=HTMLAutoClose),但问题是在解码时丢失了很多信息/结构(即仅用于样式而不是用于样式的额外div包含在数据结构中)。 最佳答案 XSLT使用模板转换XML数据并生成文本或xhtml输出。这可能适用于您的用例https://www.w3schools.com/xml/xsl_client

go - 替代 golang 中的 load_pem_private_key()

我在python中有这段代码privateKey=appAuth["privateKey"]passphrase=appAuth["passphrase"]fromcryptography.hazmat.primitives.serializationimportload_pem_private_keykey=load_pem_private_key(data=privateKey.encode('utf8'),password=passphrase.encode('utf8'),backend=default_backend(),)我想在golang中复制它。基本上我有这个:-"ap