JSON
约 2 分钟阅读
标签:资源精选
- rfc6901RFCRFC 6901IETF Request for Comments standard document.RFC - JavaScript Object Notation (JSON) Pointer
- automerge/automergeGitHubautomerge/automergeMIT, JS, Rust, WASM · 2.3 MB, 865.9kB · 参考 · Binary Document Format · - · Rust -> WASM · @automerge/automerge-repo-storage-indexeddb笔记:automerge
- A JSON-like data structure that can be modified concurrently by different users, and merged again automatically.
- Extension
- geojson
- hljson
- json5
- Variants
- yaml
- toml
- jsonata-js/jsonataGitHubjsonata-js/jsonatajsonata-js/jsonata · 参考 · https://try.jsonata.org/笔记:JSONata
- JSON query and transformation language
- jsonata.org
- jsonnl - JSON with new line
- jsonlines.org
- Standard MIME content-type #19GitHub Issuewardi/jsonlines#19
.jsonl,application/jsonl
- jsonlines.org and ndjson.org wardi/jsonlines#22GitHub Issuewardi/jsonlines#22
- adopter jsonlines.org/on_the_web
- ndjson - Newline delimited JSON
- ⚠️ 不活跃
- ndjson/ndjson-specGitHubndjson/ndjson-spec
- wikipedia JSON streamingWikipediaJSON streaming
- line delimited JSON
- concatenated JSON
- length-prefixed JSON
Schema
- json-schema
- jsonschema2pojo
- Json Schema 生成 Pojo
- app.quicktype.io
Patch
- rfc6902RFCRFC 6902IETF Request for Comments standard document.RFC - JSON Patch
application/json-patch+json- 基于操作 - op, path, value - 更适用于复杂场景
- op = add, remove, replace, move, copy, test
- test 用于断言,断言失败则操作失败
- 例如
{ "op": "test", "path": "/a/b/c", "value": "foo" }
- 例如
- rfc7396RFCRFC 7396IETF Request for Comments standard document.RFC - JSON Merge Patch
application/merge-patch+json- 基于文档合并 -
{"key":"new value"}- 适用于简单场景 - 设置 key 为 null 表示删除
- 数组只能替换
- 合并操作不会出错
rfc7386
- jsonpatch
- HNHacker NewsHacker News #31301627Hacker News
- flipkart-incubator/zjsonpatchGitHubflipkart-incubator/zjsonpatch
- kubernetes/community/contributors/devel/sig-architecture/api-conventions.md#patch-operationsGitHub 文件kubernetes/community/contributors/devel/sig-architecture/api-conventions.md#patch-operations
application/strategic-merge-patch+json- 基于 Merge Patch
- list 合并基于 name 去重合并,而不是直接替换
- patchStrategy
$patch- replace, delete
- Strategic Merge PatchGitHub 文件kubernetes/community/contributors/devel/sig-api-machinery/strategic-merge-patch.md
Diff
- DoneDeal0/superdiffGitHubDoneDeal0/superdiff
- [benjamine/jsondiffpatch](- benjamine/jsondiffpatchGitHubbenjamine/jsondiffpatch)
- andreyvit/json-diffGitHubandreyvit/json-diff
- MIT, CoffeeScript
- npm
- google/diff-match-patchGitHubgoogle/diff-match-patch
- plain text
- trailofbits/graphtageGitHubtrailofbits/graphtage
- LGPLv3, Python
- JSON, JSON5, XML, HTML, YAML, CSV
- sanity-io/mendozaGitHubsanity-io/mendoza
- MIT, Go
- Mendoza: Use stack machines to compute efficient JSON diffs
- HNHacker NewsHacker News #24943775Hacker News
- extendsclass.com/json-diff.html
- zgrossbart/jddGitHubzgrossbart/jdd
- json-diff.com
- JSONViewerTool Compare
- 浏览器中的语义 JSON 对比,忽略对象键顺序并保留数组顺序差异
- mattphillips/deep-object-diffGitHubmattphillips/deep-object-diff
- flitbit/diffGitHubflitbit/diff
- Starcounter-Jack/JSON-PatchGitHubStarcounter-Jack/JSON-Patch
- kpdecker/jsdiffGitHubkpdecker/jsdiff
- Text Diff
Command line tools
- antonmedv/fxGitHubantonmedv/fx
- jmespath/jpGitHubjmespath/jp
ETL
- jsonata-js/jsonataGitHubjsonata-js/jsonatajsonata-js/jsonata · 参考 · https://try.jsonata.org/笔记:JSONata
- JSONata query and transformation language
- bazaarvoice/joltGitHubbazaarvoice/jolt
- Apache-2.0, Java
- JOLT - JsOn Language for Transform
- jmespath
Misc
- WebReflection/JSONHGitHubWebReflection/JSONH
- Reducce JSON Size
- hpack
FAQ
JSON Patch and JSON Merge Patch
- rfc6902 vs rfc7396
- 参考
时间格式选择
- ISO 8601
new Date().toJSON()- 2018-04-16T05:24.603Z
- Java
new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", Locale.CHINA) - The “right” JSON date format
new Date().toJSON() === new Date().toISOString();关联信息
反向链接、本文链接的其他页面和外部资料。
反向链接
- JSON笔记 · JSON Awesome
JSON Awesome
参考资料
GitHub25 条
- jsonata-js/jsonatagithub.com/jsonata-js/jsonata
- andreyvit/json-diffgithub.com/andreyvit/json-diff
- antonmedv/fxgithub.com/antonmedv/fx
- automerge/automergegithub.com/automerge/automerge
- bazaarvoice/joltgithub.com/bazaarvoice/jolt
- benjamine/jsondiffpatchgithub.com/benjamine/jsondiffpatch
- benjamine/jsondiffpatch/docs/formatters.mdgithub.com/benjamine/jsondiffpatch/blob/master/docs/formatters.md
- DoneDeal0/superdiffgithub.com/DoneDeal0/superdiff
- flipkart-incubator/zjsonpatchgithub.com/flipkart-incubator/zjsonpatch
- flitbit/diffgithub.com/flitbit/diff
- google/diff-match-patchgithub.com/google/diff-match-patch
- jmespath/go-jmespathgithub.com/jmespath/go-jmespath
- jmespath/jpgithub.com/jmespath/jp
- kpdecker/jsdiffgithub.com/kpdecker/jsdiff
- kubernetes/community/contributors/devel/sig-api-machinery/strategic-merge-patch.mdgithub.com/kubernetes/community/blob/master/contributors/devel/sig-api-machinery/strategic-merge-patch.md
- kubernetes/community/contributors/devel/sig-architecture/api-conventions.md#patch-operationsgithub.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md
- mattphillips/deep-object-diffgithub.com/mattphillips/deep-object-diff
- ndjson/ndjson-specgithub.com/ndjson/ndjson-spec
- sanity-io/mendozagithub.com/sanity-io/mendoza
- Starcounter-Jack/JSON-Patchgithub.com/Starcounter-Jack/JSON-Patch
- trailofbits/graphtagegithub.com/trailofbits/graphtage
- wardi/jsonlines#19github.com/wardi/jsonlines/issues/19
- wardi/jsonlines#22github.com/wardi/jsonlines/issues/22
- WebReflection/JSONHgithub.com/WebReflection/JSONH
- zgrossbart/jddgithub.com/zgrossbart/jdd
Wikipedia1 条
- JSON streamingWikipedia:JSON streaming
Hacker News2 条
- Hacker News #24943775HN #24943775
- Hacker News #31301627HN #31301627
标准文档3 条
其他外链16 条
- app.quicktype.ioapp.quicktype.io/
- benjamine.github.io/jsondiffpatchbenjamine.github.io/jsondiffpatch
- erosb.github.io/post/json-patch-vs-merge-patcherosb.github.io/post/json-patch-vs-merge-patch
- extendsclass.com/json-diff.htmlextendsclass.com/json-diff.html
- jmespath.orgjmespath.org/
- json-diff.comjson-diff.com/
- json-schema.orgjson-schema.org/
- jsonata.orgjsonata.org/
- jsonlines.orgjsonlines.org/
- jsonlines.org/on_the_webjsonlines.org/on_the_web
- jsonpatch.comjsonpatch.com/
- jsonviewertool.com/json-comparejsonviewertool.com/json-compare
- stackoverflow.com/q/10286204/1870054stackoverflow.com/q/10286204/1870054
- www.jsondiff.comwww.jsondiff.com/
- www.jsonschema2pojo.orgwww.jsonschema2pojo.org/
- www.sanity.io/blog/mendozawww.sanity.io/blog/mendoza