相关疑难解决方法(0)

使用特定订单序列化地图

我有一个使用字符串作为键和值的映射.我有一个键数组,指定映射值的顺序.

我想将该映射序列化为JSON,但保持在数组上定义的顺序.

这里有一个示例代码:http://play.golang.org/p/A52GTDY6Wx

我想将它序列化为:

{
  "name": "John",
  "age": "20"
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我直接序列化地图,则按字母顺序排列键:

{      
  "age": "20",
  "name": "John"
}
Run Code Online (Sandbox Code Playgroud)

我可以将它序列化为一个映射数组,从而保持顺序,但是会产生许多不需要的字符:

[
  {
    "name": "John"
  },
  {
    "age": "20"
  }
]
Run Code Online (Sandbox Code Playgroud)

在我的实际代码中,我需要序列化在文本文件中指定的数据库查询的结果,并且我需要维护列顺序.我不能使用结构,因为在编译时不知道列.

编辑:我不需要按照指定的顺序读取JSON.生成的JSON应该由人们阅读,所以我只是希望它尽可能具有人类可读性.

我可以使用自定义格式,但JSON非常适合我.

谢谢!

serialization json go

7
推荐指数
2
解决办法
6655
查看次数

标签 统计

go ×1

json ×1

serialization ×1