gpt4 book ai didi

json - 在 Go 中为 JSON 指定分隔符

转载 作者:数据小太阳 更新时间:2023-10-29 03:07:32 27 4
gpt4 key购买 nike

我想在 Go 中为 JSON 自定义分隔符,相当于 Python 的分隔符:

json.dumps([1,2,3,{'4': 5, '6': 7}], separators=(',',':'))

如何在 Go 中为 JSON 指定分隔符?

澄清:

json.dumps({"key1":"value1","key2":"value2"}, separators=('__','..'))

'{"key2".."value2"__"key1".."value1"}'

此要求有一些有效的用例:

http://mens.com?&cyclone_data={"VisitorId":"53905341bd05ae26a9000001","CampaignId":"538f278cbd05ae36c6000001","LandingPageId":"538eac3ebd05ae15fe000001","OfferId":"538f097ebd05ae2a4d000001","SourceId":"538f0e39bd05ae2b9c000002","NetworkId":""}

我需要在 cookie 中设置相同的 url:

tracking_data=http://mens.com?&cyclone_data={"VisitorId":"53905341bd05ae26a9000001","CampaignId":"538f278cbd05ae36c6000001","LandingPageId":"538eac3ebd05ae15fe000001","OfferId":"538f097ebd05ae2a4d000001","SourceId":"538f0e39bd05ae2b9c000002","NetworkId":""}

使用 http.SetCookie() 设置 cookie 后,Chrome Web Developer 工具显示:

Date:Thu, 05 Jun 2014 11:23:46 GMT
Location:http://mens.com?&cyclone_data={"VisitorId":"53905341bd05ae26a9000001","CampaignId":"538f278cbd05ae36c6000001","LandingPageId":"538eac3ebd05ae15fe000001","OfferId":"538f097ebd05ae2a4d000001","SourceId":"538f0e39bd05ae2b9c000002","NetworkId":""}
Set-Cookie:538f278cbd05ae36c6000001=538f278cbd05ae36c6000001; Path=/
Set-Cookie:cyclone-track-url=http://mens.com?&cyclone_data={VisitorId:53905341bd05ae26a9000001CampaignId:538f278cbd05ae36c6000001LandingPageId:538eac3ebd05ae15fe000001OfferId:538f097ebd05ae2a4d000001SourceId:538f0e39bd05ae2b9c000002NetworkId:} Content-Length:378
Content-Type:text/html; charset=utf-8

"" 丢失。

我知道 base64。我希望用户无需任何手动编码/解码例程即可更改 VisitorId

服务器端应用程序从 Cookie 和浏览器 Referer 读取并比较此 url。

发现这个问题: https://code.google.com/p/go/issues/detail?id=7243

最佳答案

嗯,你不能直接,但如果你想要的是我猜想删除多余的不需要的空间,你可以使用 json.Compact:

http://golang.org/pkg/encoding/json/#Compact

它只需要您编码的 json 并删除不必要的空格。

您还可以尝试使用 json.MarshalIndent 方法,它可以让您控制缩进分隔符。但是 AFAIK,您不能指定非标准分隔符。

关于json - 在 Go 中为 JSON 指定分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24056066/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com