golang的JSON5实现:gojson5
gojson5
JSON5 是另一个JSON。
JSON 是很严格的,主键必须在引号中,字符串必须用双引号,对象和数组不能有逗号结尾,不能有注释。这些在过去都是必须的,但是随着支持 ECMAScript 5 的浏览器引擎的出现,例如 V8,这些限制就显得很臃肿。
JSON5 和 JSON 的关系就像 ECMAScript 5 和 ECMAScript 3 的关系。JSON5 同样是 ECMAScript 5 的严格的子集INSTALL
$ brew tap yosuke-furukawa/json5 $ brew install json5
HOW TO USE
$ json5 -c path/to/test.json5 # output stdout $ json5 -c path/to/test.json5 -o path/to/test.json # output path/to/test.json
go get
$ go get github.con/yosuke-furukawa/gojson5
示例
package main import ( "encoding/json" "fmt" "github.com/yosuke-furukawa/json5/encoding/json5" "os" ) func main() { var data interface{} dec := json5.NewDecoder(os.Stdin) err := dec.Decode(&data) if err != nil { fmt.Println(err) } b, err := json.MarshalIndent(data, "", " ") if err != nil { fmt.Println(err) } fmt.Println(string(b)) } // This is json5 demo // json5 can write comment in your json { key : "Key does not need double quote", // json specific "of" : "course we can use json as json5", trailing : "trailing comma is ok", } $ json5 -c example.json5 # output #{ # "key ": "Key does not need double quote", # "of": "course we can use json as json5", # "trailing ": "trailing comma is ok" #}
本文由用户 jopen 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
转载本站原创文章,请注明出处,并保留原始链接、图片水印。
本站是一个以用户分享为主的开源技术平台,欢迎各类分享!