[{"data":1,"prerenderedAt":8869},["ShallowReactive",2],{"blog-list":3},[4,161,315,486,603,782,961,1114,1252,1445,1565,1685,1852,2007,2154,2312,2450,2588,2751,2906,3062,3213,3361,3515,3649,3806,3926,4030,4200,4352,4488,4633,4798,4962,5106,5259,5427,5590,5732,5863,6011,6176,6327,6458,6589,6739,6879,7032,7181,7324,7470,7625,7760,7900,8041,8189,8291,8461,8584,8702],{"_path":5,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":9,"description":10,"date":11,"category":12,"keywords":13,"body":17,"_type":155,"_id":156,"_source":157,"_file":158,"_stem":159,"_extension":160},"/blog/common-json-errors","blog",false,"","常见 JSON 错误及解决方法","汇总 JSON 高频错误：单引号、尾逗号、缺引号、编码问题，附修复建议。","2026-08-19","错误调试",[14,15,16],"json错误","json报错","json修复",{"type":18,"children":19,"toc":147},"root",[20,28,34,40,45,50,55,60,104,109,131,136,141],{"type":21,"tag":22,"props":23,"children":25},"element","h1",{"id":24},"常见-json-错误及解决方法",[26],{"type":27,"value":9},"text",{"type":21,"tag":29,"props":30,"children":31},"p",{},[32],{"type":27,"value":33},"使用 JSON 时会遇到多种高频错误，本文汇总原因与修复方法。",{"type":21,"tag":35,"props":36,"children":38},"h2",{"id":37},"语法错误",[39],{"type":27,"value":37},{"type":21,"tag":29,"props":41,"children":42},{},[43],{"type":27,"value":44},"单引号改双引号、删除尾逗号、补全引号与逗号、检查括号匹配。",{"type":21,"tag":35,"props":46,"children":48},{"id":47},"解析错误",[49],{"type":27,"value":47},{"type":21,"tag":29,"props":51,"children":52},{},[53],{"type":27,"value":54},"Unexpected token 多为非法字符，Unexpected end 多为括号未闭合。",{"type":21,"tag":35,"props":56,"children":58},{"id":57},"代码示例",[59],{"type":27,"value":57},{"type":21,"tag":61,"props":62,"children":66},"pre",{"className":63,"code":64,"language":65,"meta":8,"style":8},"language-json shiki shiki-themes github-dark","{'key': 'value',}\n","json",[67],{"type":21,"tag":68,"props":69,"children":70},"code",{"__ignoreMap":8},[71],{"type":21,"tag":72,"props":73,"children":76},"span",{"class":74,"line":75},"line",1,[77,83,89,94,99],{"type":21,"tag":72,"props":78,"children":80},{"style":79},"--shiki-default:#E1E4E8",[81],{"type":27,"value":82},"{",{"type":21,"tag":72,"props":84,"children":86},{"style":85},"--shiki-default:#FDAEB7;--shiki-default-font-style:italic",[87],{"type":27,"value":88},"'key'",{"type":21,"tag":72,"props":90,"children":91},{"style":79},[92],{"type":27,"value":93},": ",{"type":21,"tag":72,"props":95,"children":96},{"style":85},[97],{"type":27,"value":98},"'value'",{"type":21,"tag":72,"props":100,"children":101},{"style":79},[102],{"type":27,"value":103},",}\n",{"type":21,"tag":35,"props":105,"children":107},{"id":106},"推荐在线工具",[108],{"type":27,"value":106},{"type":21,"tag":110,"props":111,"children":112},"ul",{},[113,123],{"type":21,"tag":114,"props":115,"children":116},"li",{},[117],{"type":21,"tag":118,"props":119,"children":121},"a",{"href":120},"/validate",[122],{"type":27,"value":120},{"type":21,"tag":114,"props":124,"children":125},{},[126],{"type":21,"tag":118,"props":127,"children":129},{"href":128},"/format",[130],{"type":27,"value":128},{"type":21,"tag":35,"props":132,"children":134},{"id":133},"小结",[135],{"type":27,"value":133},{"type":21,"tag":29,"props":137,"children":138},{},[139],{"type":27,"value":140},"汇总 JSON 高频错误：单引号、尾逗号、缺引号、编码问题，附修复建议。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":143,"children":144},"style",{},[145],{"type":27,"value":146},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":8,"searchDepth":148,"depth":148,"links":149},2,[150,151,152,153,154],{"id":37,"depth":148,"text":37},{"id":47,"depth":148,"text":47},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"markdown","content:blog:common-json-errors.md","content","blog/common-json-errors.md","blog/common-json-errors","md",{"_path":162,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":163,"description":164,"date":11,"category":165,"keywords":166,"body":170,"_type":155,"_id":312,"_source":157,"_file":313,"_stem":314,"_extension":160},"/blog/how-to-format-json","如何格式化 JSON：美化与缩进","JSON 格式化（美化）是为 JSON 添加缩进与换行，提升可读性。本文介绍在线格式化方法。","工具",[167,168,169],"json格式化","json美化","format json",{"type":18,"children":171,"toc":305},[172,177,182,187,192,197,202,206,270,274,292,296,301],{"type":21,"tag":22,"props":173,"children":175},{"id":174},"如何格式化-json美化与缩进",[176],{"type":27,"value":163},{"type":21,"tag":29,"props":178,"children":179},{},[180],{"type":27,"value":181},"JSON 格式化又称美化（beautify）或 pretty print，指为压缩的 JSON 添加缩进与换行，使其结构清晰易读。",{"type":21,"tag":35,"props":183,"children":185},{"id":184},"为什么格式化",[186],{"type":27,"value":184},{"type":21,"tag":29,"props":188,"children":189},{},[190],{"type":27,"value":191},"压缩 JSON 单行难读，格式化后层级清晰，便于调试与排查错误。",{"type":21,"tag":35,"props":193,"children":195},{"id":194},"如何操作",[196],{"type":27,"value":194},{"type":21,"tag":29,"props":198,"children":199},{},[200],{"type":27,"value":201},"粘贴 JSON 到格式化工具，选择缩进（2/4 空格或 Tab），一键生成美化结果。",{"type":21,"tag":35,"props":203,"children":204},{"id":57},[205],{"type":27,"value":57},{"type":21,"tag":61,"props":207,"children":209},{"className":63,"code":208,"language":65,"meta":8,"style":8},"{\"a\":1,\"b\":{\"c\":2}}\n",[210],{"type":21,"tag":68,"props":211,"children":212},{"__ignoreMap":8},[213],{"type":21,"tag":72,"props":214,"children":215},{"class":74,"line":75},[216,220,226,231,236,241,246,251,256,260,265],{"type":21,"tag":72,"props":217,"children":218},{"style":79},[219],{"type":27,"value":82},{"type":21,"tag":72,"props":221,"children":223},{"style":222},"--shiki-default:#79B8FF",[224],{"type":27,"value":225},"\"a\"",{"type":21,"tag":72,"props":227,"children":228},{"style":79},[229],{"type":27,"value":230},":",{"type":21,"tag":72,"props":232,"children":233},{"style":222},[234],{"type":27,"value":235},"1",{"type":21,"tag":72,"props":237,"children":238},{"style":79},[239],{"type":27,"value":240},",",{"type":21,"tag":72,"props":242,"children":243},{"style":222},[244],{"type":27,"value":245},"\"b\"",{"type":21,"tag":72,"props":247,"children":248},{"style":79},[249],{"type":27,"value":250},":{",{"type":21,"tag":72,"props":252,"children":253},{"style":222},[254],{"type":27,"value":255},"\"c\"",{"type":21,"tag":72,"props":257,"children":258},{"style":79},[259],{"type":27,"value":230},{"type":21,"tag":72,"props":261,"children":262},{"style":222},[263],{"type":27,"value":264},"2",{"type":21,"tag":72,"props":266,"children":267},{"style":79},[268],{"type":27,"value":269},"}}\n",{"type":21,"tag":35,"props":271,"children":272},{"id":106},[273],{"type":27,"value":106},{"type":21,"tag":110,"props":275,"children":276},{},[277,284],{"type":21,"tag":114,"props":278,"children":279},{},[280],{"type":21,"tag":118,"props":281,"children":282},{"href":128},[283],{"type":27,"value":128},{"type":21,"tag":114,"props":285,"children":286},{},[287],{"type":21,"tag":118,"props":288,"children":290},{"href":289},"/minify",[291],{"type":27,"value":289},{"type":21,"tag":35,"props":293,"children":294},{"id":133},[295],{"type":27,"value":133},{"type":21,"tag":29,"props":297,"children":298},{},[299],{"type":27,"value":300},"JSON 格式化（美化）是为 JSON 添加缩进与换行，提升可读性。本文介绍在线格式化方法。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":302,"children":303},{},[304],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":306},[307,308,309,310,311],{"id":184,"depth":148,"text":184},{"id":194,"depth":148,"text":194},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:how-to-format-json.md","blog/how-to-format-json.md","blog/how-to-format-json",{"_path":316,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":317,"description":318,"date":11,"category":165,"keywords":319,"body":323,"_type":155,"_id":483,"_source":157,"_file":484,"_stem":485,"_extension":160},"/blog/how-to-minify-json","如何压缩 JSON：Minify","JSON 压缩去除所有空白与换行，减小体积，用于生产环境传输。",[320,321,322],"json压缩","json minify","compress json",{"type":18,"children":324,"toc":476},[325,330,335,340,345,350,355,359,442,446,463,467,472],{"type":21,"tag":22,"props":326,"children":328},{"id":327},"如何压缩-jsonminify",[329],{"type":27,"value":317},{"type":21,"tag":29,"props":331,"children":332},{},[333],{"type":27,"value":334},"JSON 压缩（minify）去除所有不必要的空白、换行与缩进，将 JSON 压成单行，减小传输体积。",{"type":21,"tag":35,"props":336,"children":338},{"id":337},"压缩好处",[339],{"type":27,"value":337},{"type":21,"tag":29,"props":341,"children":342},{},[343],{"type":27,"value":344},"减小文件体积，加快网络传输，节省存储空间，适合生产环境。",{"type":21,"tag":35,"props":346,"children":348},{"id":347},"开发建议",[349],{"type":27,"value":347},{"type":21,"tag":29,"props":351,"children":352},{},[353],{"type":27,"value":354},"开发时用格式化便于阅读，部署时用压缩优化性能。",{"type":21,"tag":35,"props":356,"children":357},{"id":57},[358],{"type":27,"value":57},{"type":21,"tag":61,"props":360,"children":362},{"className":63,"code":361,"language":65,"meta":8,"style":8},"{\"a\":1,\"b\":[2,3],\"c\":{\"d\":4}}\n",[363],{"type":21,"tag":68,"props":364,"children":365},{"__ignoreMap":8},[366],{"type":21,"tag":72,"props":367,"children":368},{"class":74,"line":75},[369,373,377,381,385,389,393,398,402,406,411,416,420,424,429,433,438],{"type":21,"tag":72,"props":370,"children":371},{"style":79},[372],{"type":27,"value":82},{"type":21,"tag":72,"props":374,"children":375},{"style":222},[376],{"type":27,"value":225},{"type":21,"tag":72,"props":378,"children":379},{"style":79},[380],{"type":27,"value":230},{"type":21,"tag":72,"props":382,"children":383},{"style":222},[384],{"type":27,"value":235},{"type":21,"tag":72,"props":386,"children":387},{"style":79},[388],{"type":27,"value":240},{"type":21,"tag":72,"props":390,"children":391},{"style":222},[392],{"type":27,"value":245},{"type":21,"tag":72,"props":394,"children":395},{"style":79},[396],{"type":27,"value":397},":[",{"type":21,"tag":72,"props":399,"children":400},{"style":222},[401],{"type":27,"value":264},{"type":21,"tag":72,"props":403,"children":404},{"style":79},[405],{"type":27,"value":240},{"type":21,"tag":72,"props":407,"children":408},{"style":222},[409],{"type":27,"value":410},"3",{"type":21,"tag":72,"props":412,"children":413},{"style":79},[414],{"type":27,"value":415},"],",{"type":21,"tag":72,"props":417,"children":418},{"style":222},[419],{"type":27,"value":255},{"type":21,"tag":72,"props":421,"children":422},{"style":79},[423],{"type":27,"value":250},{"type":21,"tag":72,"props":425,"children":426},{"style":222},[427],{"type":27,"value":428},"\"d\"",{"type":21,"tag":72,"props":430,"children":431},{"style":79},[432],{"type":27,"value":230},{"type":21,"tag":72,"props":434,"children":435},{"style":222},[436],{"type":27,"value":437},"4",{"type":21,"tag":72,"props":439,"children":440},{"style":79},[441],{"type":27,"value":269},{"type":21,"tag":35,"props":443,"children":444},{"id":106},[445],{"type":27,"value":106},{"type":21,"tag":110,"props":447,"children":448},{},[449,456],{"type":21,"tag":114,"props":450,"children":451},{},[452],{"type":21,"tag":118,"props":453,"children":454},{"href":289},[455],{"type":27,"value":289},{"type":21,"tag":114,"props":457,"children":458},{},[459],{"type":21,"tag":118,"props":460,"children":461},{"href":128},[462],{"type":27,"value":128},{"type":21,"tag":35,"props":464,"children":465},{"id":133},[466],{"type":27,"value":133},{"type":21,"tag":29,"props":468,"children":469},{},[470],{"type":27,"value":471},"JSON 压缩去除所有空白与换行，减小体积，用于生产环境传输。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":473,"children":474},{},[475],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":477},[478,479,480,481,482],{"id":337,"depth":148,"text":337},{"id":347,"depth":148,"text":347},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:how-to-minify-json.md","blog/how-to-minify-json.md","blog/how-to-minify-json",{"_path":487,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":488,"description":489,"date":11,"category":165,"keywords":490,"body":494,"_type":155,"_id":600,"_source":157,"_file":601,"_stem":602,"_extension":160},"/blog/how-to-validate-json","如何校验 JSON 语法","JSON 校验检查语法是否合法，定位错误行号并给出修复建议。",[491,492,493],"json校验","json验证","validate json",{"type":18,"children":495,"toc":593},[496,501,506,511,516,521,526,530,559,563,580,584,589],{"type":21,"tag":22,"props":497,"children":499},{"id":498},"如何校验-json-语法",[500],{"type":27,"value":488},{"type":21,"tag":29,"props":502,"children":503},{},[504],{"type":27,"value":505},"JSON 校验用于检查 JSON 文本是否符合语法规范，发现错误并定位到具体行列。",{"type":21,"tag":35,"props":507,"children":509},{"id":508},"常见错误",[510],{"type":27,"value":508},{"type":21,"tag":29,"props":512,"children":513},{},[514],{"type":27,"value":515},"单引号、尾逗号、缺引号、缺逗号是高频错误，校验工具会指出位置与原因。",{"type":21,"tag":35,"props":517,"children":519},{"id":518},"校验工具",[520],{"type":27,"value":518},{"type":21,"tag":29,"props":522,"children":523},{},[524],{"type":27,"value":525},"粘贴 JSON 即时校验，合法显示美化预览，非法显示错误行号与修复建议。",{"type":21,"tag":35,"props":527,"children":528},{"id":57},[529],{"type":27,"value":57},{"type":21,"tag":61,"props":531,"children":533},{"className":63,"code":532,"language":65,"meta":8,"style":8},"{\"bad\": \"missing quote}\n",[534],{"type":21,"tag":68,"props":535,"children":536},{"__ignoreMap":8},[537],{"type":21,"tag":72,"props":538,"children":539},{"class":74,"line":75},[540,544,549,553],{"type":21,"tag":72,"props":541,"children":542},{"style":79},[543],{"type":27,"value":82},{"type":21,"tag":72,"props":545,"children":546},{"style":222},[547],{"type":27,"value":548},"\"bad\"",{"type":21,"tag":72,"props":550,"children":551},{"style":79},[552],{"type":27,"value":93},{"type":21,"tag":72,"props":554,"children":556},{"style":555},"--shiki-default:#9ECBFF",[557],{"type":27,"value":558},"\"missing quote}\n",{"type":21,"tag":35,"props":560,"children":561},{"id":106},[562],{"type":27,"value":106},{"type":21,"tag":110,"props":564,"children":565},{},[566,573],{"type":21,"tag":114,"props":567,"children":568},{},[569],{"type":21,"tag":118,"props":570,"children":571},{"href":120},[572],{"type":27,"value":120},{"type":21,"tag":114,"props":574,"children":575},{},[576],{"type":21,"tag":118,"props":577,"children":578},{"href":128},[579],{"type":27,"value":128},{"type":21,"tag":35,"props":581,"children":582},{"id":133},[583],{"type":27,"value":133},{"type":21,"tag":29,"props":585,"children":586},{},[587],{"type":27,"value":588},"JSON 校验检查语法是否合法，定位错误行号并给出修复建议。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":590,"children":591},{},[592],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":594},[595,596,597,598,599],{"id":508,"depth":148,"text":508},{"id":518,"depth":148,"text":518},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:how-to-validate-json.md","blog/how-to-validate-json.md","blog/how-to-validate-json",{"_path":604,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":605,"description":606,"date":11,"category":607,"keywords":608,"body":612,"_type":155,"_id":779,"_source":157,"_file":780,"_stem":781,"_extension":160},"/blog/json-api-spec","JSON:API 规范指南","JSON:API 是 RESTful API 的数据响应规范，统一资源、关系、分页、错误格式。","进阶",[609,610,611],"json:api","json api规范","restful",{"type":18,"children":613,"toc":772},[614,619,624,629,634,639,644,648,738,742,759,763,768],{"type":21,"tag":22,"props":615,"children":617},{"id":616},"jsonapi-规范指南",[618],{"type":27,"value":605},{"type":21,"tag":29,"props":620,"children":621},{},[622],{"type":27,"value":623},"JSON:API 是一套构建 RESTful API 数据响应的规范，统一了资源对象、关系、分页与错误的 JSON 结构。",{"type":21,"tag":35,"props":625,"children":627},{"id":626},"核心约定",[628],{"type":27,"value":626},{"type":21,"tag":29,"props":630,"children":631},{},[632],{"type":27,"value":633},"data 包含资源数组或单对象，relationships 描述关联，included 包含关联资源，meta 存元信息。",{"type":21,"tag":35,"props":635,"children":637},{"id":636},"优势",[638],{"type":27,"value":636},{"type":21,"tag":29,"props":640,"children":641},{},[642],{"type":27,"value":643},"统一格式减少约定成本，客户端可通用化处理。",{"type":21,"tag":35,"props":645,"children":646},{"id":57},[647],{"type":27,"value":57},{"type":21,"tag":61,"props":649,"children":651},{"className":63,"code":650,"language":65,"meta":8,"style":8},"{\"data\": [{\"type\": \"user\", \"id\": \"1\", \"attributes\": {\"name\": \"x\"}}]}\n",[652],{"type":21,"tag":68,"props":653,"children":654},{"__ignoreMap":8},[655],{"type":21,"tag":72,"props":656,"children":657},{"class":74,"line":75},[658,662,667,672,677,681,686,691,696,700,705,709,714,719,724,728,733],{"type":21,"tag":72,"props":659,"children":660},{"style":79},[661],{"type":27,"value":82},{"type":21,"tag":72,"props":663,"children":664},{"style":222},[665],{"type":27,"value":666},"\"data\"",{"type":21,"tag":72,"props":668,"children":669},{"style":79},[670],{"type":27,"value":671},": [{",{"type":21,"tag":72,"props":673,"children":674},{"style":222},[675],{"type":27,"value":676},"\"type\"",{"type":21,"tag":72,"props":678,"children":679},{"style":79},[680],{"type":27,"value":93},{"type":21,"tag":72,"props":682,"children":683},{"style":555},[684],{"type":27,"value":685},"\"user\"",{"type":21,"tag":72,"props":687,"children":688},{"style":79},[689],{"type":27,"value":690},", ",{"type":21,"tag":72,"props":692,"children":693},{"style":222},[694],{"type":27,"value":695},"\"id\"",{"type":21,"tag":72,"props":697,"children":698},{"style":79},[699],{"type":27,"value":93},{"type":21,"tag":72,"props":701,"children":702},{"style":555},[703],{"type":27,"value":704},"\"1\"",{"type":21,"tag":72,"props":706,"children":707},{"style":79},[708],{"type":27,"value":690},{"type":21,"tag":72,"props":710,"children":711},{"style":222},[712],{"type":27,"value":713},"\"attributes\"",{"type":21,"tag":72,"props":715,"children":716},{"style":79},[717],{"type":27,"value":718},": {",{"type":21,"tag":72,"props":720,"children":721},{"style":222},[722],{"type":27,"value":723},"\"name\"",{"type":21,"tag":72,"props":725,"children":726},{"style":79},[727],{"type":27,"value":93},{"type":21,"tag":72,"props":729,"children":730},{"style":555},[731],{"type":27,"value":732},"\"x\"",{"type":21,"tag":72,"props":734,"children":735},{"style":79},[736],{"type":27,"value":737},"}}]}\n",{"type":21,"tag":35,"props":739,"children":740},{"id":106},[741],{"type":27,"value":106},{"type":21,"tag":110,"props":743,"children":744},{},[745,752],{"type":21,"tag":114,"props":746,"children":747},{},[748],{"type":21,"tag":118,"props":749,"children":750},{"href":128},[751],{"type":27,"value":128},{"type":21,"tag":114,"props":753,"children":754},{},[755],{"type":21,"tag":118,"props":756,"children":757},{"href":120},[758],{"type":27,"value":120},{"type":21,"tag":35,"props":760,"children":761},{"id":133},[762],{"type":27,"value":133},{"type":21,"tag":29,"props":764,"children":765},{},[766],{"type":27,"value":767},"JSON:API 是 RESTful API 的数据响应规范，统一资源、关系、分页、错误格式。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":769,"children":770},{},[771],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":773},[774,775,776,777,778],{"id":626,"depth":148,"text":626},{"id":636,"depth":148,"text":636},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-api-spec.md","blog/json-api-spec.md","blog/json-api-spec",{"_path":783,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":784,"description":785,"date":11,"category":786,"keywords":787,"body":791,"_type":155,"_id":958,"_source":157,"_file":959,"_stem":960,"_extension":160},"/blog/json-array","JSON 数组详解","JSON 数组是有序值列表，用方括号包裹，元素可为任意类型且可混合。","基础",[788,789,790],"json数组","json array","json列表",{"type":18,"children":792,"toc":951},[793,798,803,808,813,818,823,827,916,920,938,942,947],{"type":21,"tag":22,"props":794,"children":796},{"id":795},"json-数组详解",[797],{"type":27,"value":784},{"type":21,"tag":29,"props":799,"children":800},{},[801],{"type":27,"value":802},"JSON 数组是有序的值列表，用方括号包裹，元素之间用逗号分隔，元素可以是任意 JSON 类型。",{"type":21,"tag":35,"props":804,"children":806},{"id":805},"数组特性",[807],{"type":27,"value":805},{"type":21,"tag":29,"props":809,"children":810},{},[811],{"type":27,"value":812},"数组保持元素顺序，通过索引访问，可包含混合类型元素，也可嵌套对象或数组。",{"type":21,"tag":35,"props":814,"children":816},{"id":815},"使用场景",[817],{"type":27,"value":815},{"type":21,"tag":29,"props":819,"children":820},{},[821],{"type":27,"value":822},"数组常用于表达列表、集合、分页数据、标签等有序数据。",{"type":21,"tag":35,"props":824,"children":825},{"id":57},[826],{"type":27,"value":57},{"type":21,"tag":61,"props":828,"children":830},{"className":63,"code":829,"language":65,"meta":8,"style":8},"[1, \"two\", true, null, {\"five\": 5}, [6, 7]]\n",[831],{"type":21,"tag":68,"props":832,"children":833},{"__ignoreMap":8},[834],{"type":21,"tag":72,"props":835,"children":836},{"class":74,"line":75},[837,842,846,850,855,859,864,868,873,878,883,887,892,897,902,906,911],{"type":21,"tag":72,"props":838,"children":839},{"style":79},[840],{"type":27,"value":841},"[",{"type":21,"tag":72,"props":843,"children":844},{"style":222},[845],{"type":27,"value":235},{"type":21,"tag":72,"props":847,"children":848},{"style":79},[849],{"type":27,"value":690},{"type":21,"tag":72,"props":851,"children":852},{"style":555},[853],{"type":27,"value":854},"\"two\"",{"type":21,"tag":72,"props":856,"children":857},{"style":79},[858],{"type":27,"value":690},{"type":21,"tag":72,"props":860,"children":861},{"style":222},[862],{"type":27,"value":863},"true",{"type":21,"tag":72,"props":865,"children":866},{"style":79},[867],{"type":27,"value":690},{"type":21,"tag":72,"props":869,"children":870},{"style":222},[871],{"type":27,"value":872},"null",{"type":21,"tag":72,"props":874,"children":875},{"style":79},[876],{"type":27,"value":877},", {",{"type":21,"tag":72,"props":879,"children":880},{"style":222},[881],{"type":27,"value":882},"\"five\"",{"type":21,"tag":72,"props":884,"children":885},{"style":79},[886],{"type":27,"value":93},{"type":21,"tag":72,"props":888,"children":889},{"style":222},[890],{"type":27,"value":891},"5",{"type":21,"tag":72,"props":893,"children":894},{"style":79},[895],{"type":27,"value":896},"}, [",{"type":21,"tag":72,"props":898,"children":899},{"style":222},[900],{"type":27,"value":901},"6",{"type":21,"tag":72,"props":903,"children":904},{"style":79},[905],{"type":27,"value":690},{"type":21,"tag":72,"props":907,"children":908},{"style":222},[909],{"type":27,"value":910},"7",{"type":21,"tag":72,"props":912,"children":913},{"style":79},[914],{"type":27,"value":915},"]]\n",{"type":21,"tag":35,"props":917,"children":918},{"id":106},[919],{"type":27,"value":106},{"type":21,"tag":110,"props":921,"children":922},{},[923,931],{"type":21,"tag":114,"props":924,"children":925},{},[926],{"type":21,"tag":118,"props":927,"children":929},{"href":928},"/tree",[930],{"type":27,"value":928},{"type":21,"tag":114,"props":932,"children":933},{},[934],{"type":21,"tag":118,"props":935,"children":936},{"href":128},[937],{"type":27,"value":128},{"type":21,"tag":35,"props":939,"children":940},{"id":133},[941],{"type":27,"value":133},{"type":21,"tag":29,"props":943,"children":944},{},[945],{"type":27,"value":946},"JSON 数组是有序值列表，用方括号包裹，元素可为任意类型且可混合。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":948,"children":949},{},[950],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":952},[953,954,955,956,957],{"id":805,"depth":148,"text":805},{"id":815,"depth":148,"text":815},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-array.md","blog/json-array.md","blog/json-array",{"_path":962,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":963,"description":964,"date":11,"category":965,"keywords":966,"body":970,"_type":155,"_id":1111,"_source":157,"_file":1112,"_stem":1113,"_extension":160},"/blog/json-as-config","JSON 作为配置文件","JSON 常用作配置文件，但不支持注释，可考虑 JSON5 或 JSONC 替代。","场景",[967,968,969],"json配置","json config","jsonc",{"type":18,"children":971,"toc":1104},[972,977,982,987,992,997,1002,1006,1070,1074,1091,1095,1100],{"type":21,"tag":22,"props":973,"children":975},{"id":974},"json-作为配置文件",[976],{"type":27,"value":963},{"type":21,"tag":29,"props":978,"children":979},{},[980],{"type":27,"value":981},"JSON 常用作配置文件（如 tsconfig、package.json），但不支持注释，编辑不便。",{"type":21,"tag":35,"props":983,"children":985},{"id":984},"优缺点",[986],{"type":27,"value":984},{"type":21,"tag":29,"props":988,"children":989},{},[990],{"type":27,"value":991},"优点：标准、解析快、跨语言；缺点：无注释、无多行字符串、尾逗号非法。",{"type":21,"tag":35,"props":993,"children":995},{"id":994},"替代方案",[996],{"type":27,"value":994},{"type":21,"tag":29,"props":998,"children":999},{},[1000],{"type":27,"value":1001},"JSON5、JSONC（带注释）、YAML、TOML 更适合人工编辑的配置。",{"type":21,"tag":35,"props":1003,"children":1004},{"id":57},[1005],{"type":27,"value":57},{"type":21,"tag":61,"props":1007,"children":1009},{"className":63,"code":1008,"language":65,"meta":8,"style":8},"{\n  \"compilerOptions\": {\n    \"target\": \"es2020\"\n  }\n}\n",[1010],{"type":21,"tag":68,"props":1011,"children":1012},{"__ignoreMap":8},[1013,1021,1034,1052,1061],{"type":21,"tag":72,"props":1014,"children":1015},{"class":74,"line":75},[1016],{"type":21,"tag":72,"props":1017,"children":1018},{"style":79},[1019],{"type":27,"value":1020},"{\n",{"type":21,"tag":72,"props":1022,"children":1023},{"class":74,"line":148},[1024,1029],{"type":21,"tag":72,"props":1025,"children":1026},{"style":222},[1027],{"type":27,"value":1028},"  \"compilerOptions\"",{"type":21,"tag":72,"props":1030,"children":1031},{"style":79},[1032],{"type":27,"value":1033},": {\n",{"type":21,"tag":72,"props":1035,"children":1037},{"class":74,"line":1036},3,[1038,1043,1047],{"type":21,"tag":72,"props":1039,"children":1040},{"style":222},[1041],{"type":27,"value":1042},"    \"target\"",{"type":21,"tag":72,"props":1044,"children":1045},{"style":79},[1046],{"type":27,"value":93},{"type":21,"tag":72,"props":1048,"children":1049},{"style":555},[1050],{"type":27,"value":1051},"\"es2020\"\n",{"type":21,"tag":72,"props":1053,"children":1055},{"class":74,"line":1054},4,[1056],{"type":21,"tag":72,"props":1057,"children":1058},{"style":79},[1059],{"type":27,"value":1060},"  }\n",{"type":21,"tag":72,"props":1062,"children":1064},{"class":74,"line":1063},5,[1065],{"type":21,"tag":72,"props":1066,"children":1067},{"style":79},[1068],{"type":27,"value":1069},"}\n",{"type":21,"tag":35,"props":1071,"children":1072},{"id":106},[1073],{"type":27,"value":106},{"type":21,"tag":110,"props":1075,"children":1076},{},[1077,1084],{"type":21,"tag":114,"props":1078,"children":1079},{},[1080],{"type":21,"tag":118,"props":1081,"children":1082},{"href":128},[1083],{"type":27,"value":128},{"type":21,"tag":114,"props":1085,"children":1086},{},[1087],{"type":21,"tag":118,"props":1088,"children":1089},{"href":120},[1090],{"type":27,"value":120},{"type":21,"tag":35,"props":1092,"children":1093},{"id":133},[1094],{"type":27,"value":133},{"type":21,"tag":29,"props":1096,"children":1097},{},[1098],{"type":27,"value":1099},"JSON 常用作配置文件，但不支持注释，可考虑 JSON5 或 JSONC 替代。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":1101,"children":1102},{},[1103],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":1105},[1106,1107,1108,1109,1110],{"id":984,"depth":148,"text":984},{"id":994,"depth":148,"text":994},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-as-config.md","blog/json-as-config.md","blog/json-as-config",{"_path":1115,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":1116,"description":1117,"date":11,"category":965,"keywords":1118,"body":1122,"_type":155,"_id":1249,"_source":157,"_file":1250,"_stem":1251,"_extension":160},"/blog/json-caching","JSON 缓存策略","JSON 响应可缓存于 CDN、Redis、本地，本文介绍缓存键设计与失效策略。",[1119,1120,1121],"json缓存","api缓存","redis json",{"type":18,"children":1123,"toc":1242},[1124,1129,1134,1139,1144,1149,1154,1158,1208,1212,1229,1233,1238],{"type":21,"tag":22,"props":1125,"children":1127},{"id":1126},"json-缓存策略",[1128],{"type":27,"value":1116},{"type":21,"tag":29,"props":1130,"children":1131},{},[1132],{"type":27,"value":1133},"JSON 响应缓存可大幅提升性能，需合理设计缓存键与失效策略。",{"type":21,"tag":35,"props":1135,"children":1137},{"id":1136},"缓存层",[1138],{"type":27,"value":1136},{"type":21,"tag":29,"props":1140,"children":1141},{},[1142],{"type":27,"value":1143},"CDN 缓存静态 JSON、Redis 缓存热点接口、浏览器缓存带 ETag。",{"type":21,"tag":35,"props":1145,"children":1147},{"id":1146},"失效策略",[1148],{"type":27,"value":1146},{"type":21,"tag":29,"props":1150,"children":1151},{},[1152],{"type":27,"value":1153},"TTL 过期、版本号键、主动清除，注意一致性。",{"type":21,"tag":35,"props":1155,"children":1156},{"id":57},[1157],{"type":27,"value":57},{"type":21,"tag":61,"props":1159,"children":1161},{"className":63,"code":1160,"language":65,"meta":8,"style":8},"{\"key\": \"user:1:profile\", \"ttl\": 3600}\n",[1162],{"type":21,"tag":68,"props":1163,"children":1164},{"__ignoreMap":8},[1165],{"type":21,"tag":72,"props":1166,"children":1167},{"class":74,"line":75},[1168,1172,1177,1181,1186,1190,1195,1199,1204],{"type":21,"tag":72,"props":1169,"children":1170},{"style":79},[1171],{"type":27,"value":82},{"type":21,"tag":72,"props":1173,"children":1174},{"style":222},[1175],{"type":27,"value":1176},"\"key\"",{"type":21,"tag":72,"props":1178,"children":1179},{"style":79},[1180],{"type":27,"value":93},{"type":21,"tag":72,"props":1182,"children":1183},{"style":555},[1184],{"type":27,"value":1185},"\"user:1:profile\"",{"type":21,"tag":72,"props":1187,"children":1188},{"style":79},[1189],{"type":27,"value":690},{"type":21,"tag":72,"props":1191,"children":1192},{"style":222},[1193],{"type":27,"value":1194},"\"ttl\"",{"type":21,"tag":72,"props":1196,"children":1197},{"style":79},[1198],{"type":27,"value":93},{"type":21,"tag":72,"props":1200,"children":1201},{"style":222},[1202],{"type":27,"value":1203},"3600",{"type":21,"tag":72,"props":1205,"children":1206},{"style":79},[1207],{"type":27,"value":1069},{"type":21,"tag":35,"props":1209,"children":1210},{"id":106},[1211],{"type":27,"value":106},{"type":21,"tag":110,"props":1213,"children":1214},{},[1215,1222],{"type":21,"tag":114,"props":1216,"children":1217},{},[1218],{"type":21,"tag":118,"props":1219,"children":1220},{"href":289},[1221],{"type":27,"value":289},{"type":21,"tag":114,"props":1223,"children":1224},{},[1225],{"type":21,"tag":118,"props":1226,"children":1227},{"href":128},[1228],{"type":27,"value":128},{"type":21,"tag":35,"props":1230,"children":1231},{"id":133},[1232],{"type":27,"value":133},{"type":21,"tag":29,"props":1234,"children":1235},{},[1236],{"type":27,"value":1237},"JSON 响应可缓存于 CDN、Redis、本地，本文介绍缓存键设计与失效策略。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":1239,"children":1240},{},[1241],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":1243},[1244,1245,1246,1247,1248],{"id":1136,"depth":148,"text":1136},{"id":1146,"depth":148,"text":1146},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-caching.md","blog/json-caching.md","blog/json-caching",{"_path":1253,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":1254,"description":1255,"date":11,"category":786,"keywords":1256,"body":1260,"_type":155,"_id":1442,"_source":157,"_file":1443,"_stem":1444,"_extension":160},"/blog/json-data-types","JSON 数据类型全览","JSON 支持六种数据类型：string、number、boolean、null、object、array，本文逐一详解。",[1257,1258,1259],"json数据类型","json类型","json string",{"type":18,"children":1261,"toc":1435},[1262,1267,1272,1277,1282,1287,1292,1296,1400,1404,1422,1426,1431],{"type":21,"tag":22,"props":1263,"children":1265},{"id":1264},"json-数据类型全览",[1266],{"type":27,"value":1254},{"type":21,"tag":29,"props":1268,"children":1269},{},[1270],{"type":27,"value":1271},"JSON 规范定义了六种数据类型，理解每种类型的特征是正确使用 JSON 的基础。",{"type":21,"tag":35,"props":1273,"children":1275},{"id":1274},"基本类型",[1276],{"type":27,"value":1274},{"type":21,"tag":29,"props":1278,"children":1279},{},[1280],{"type":27,"value":1281},"string 字符串（双引号）、number 数字（整数或浮点）、boolean 布尔（true/false）、null 空值。",{"type":21,"tag":35,"props":1283,"children":1285},{"id":1284},"复合类型",[1286],{"type":27,"value":1284},{"type":21,"tag":29,"props":1288,"children":1289},{},[1290],{"type":27,"value":1291},"object 对象（无序键值对集合）、array 数组（有序值列表），二者可无限嵌套。",{"type":21,"tag":35,"props":1293,"children":1294},{"id":57},[1295],{"type":27,"value":57},{"type":21,"tag":61,"props":1297,"children":1299},{"className":63,"code":1298,"language":65,"meta":8,"style":8},"{\"str\": \"text\", \"num\": 42, \"bool\": true, \"nil\": null, \"obj\": {}, \"arr\": []}\n",[1300],{"type":21,"tag":68,"props":1301,"children":1302},{"__ignoreMap":8},[1303],{"type":21,"tag":72,"props":1304,"children":1305},{"class":74,"line":75},[1306,1310,1315,1319,1324,1328,1333,1337,1342,1346,1351,1355,1359,1363,1368,1372,1376,1380,1385,1390,1395],{"type":21,"tag":72,"props":1307,"children":1308},{"style":79},[1309],{"type":27,"value":82},{"type":21,"tag":72,"props":1311,"children":1312},{"style":222},[1313],{"type":27,"value":1314},"\"str\"",{"type":21,"tag":72,"props":1316,"children":1317},{"style":79},[1318],{"type":27,"value":93},{"type":21,"tag":72,"props":1320,"children":1321},{"style":555},[1322],{"type":27,"value":1323},"\"text\"",{"type":21,"tag":72,"props":1325,"children":1326},{"style":79},[1327],{"type":27,"value":690},{"type":21,"tag":72,"props":1329,"children":1330},{"style":222},[1331],{"type":27,"value":1332},"\"num\"",{"type":21,"tag":72,"props":1334,"children":1335},{"style":79},[1336],{"type":27,"value":93},{"type":21,"tag":72,"props":1338,"children":1339},{"style":222},[1340],{"type":27,"value":1341},"42",{"type":21,"tag":72,"props":1343,"children":1344},{"style":79},[1345],{"type":27,"value":690},{"type":21,"tag":72,"props":1347,"children":1348},{"style":222},[1349],{"type":27,"value":1350},"\"bool\"",{"type":21,"tag":72,"props":1352,"children":1353},{"style":79},[1354],{"type":27,"value":93},{"type":21,"tag":72,"props":1356,"children":1357},{"style":222},[1358],{"type":27,"value":863},{"type":21,"tag":72,"props":1360,"children":1361},{"style":79},[1362],{"type":27,"value":690},{"type":21,"tag":72,"props":1364,"children":1365},{"style":222},[1366],{"type":27,"value":1367},"\"nil\"",{"type":21,"tag":72,"props":1369,"children":1370},{"style":79},[1371],{"type":27,"value":93},{"type":21,"tag":72,"props":1373,"children":1374},{"style":222},[1375],{"type":27,"value":872},{"type":21,"tag":72,"props":1377,"children":1378},{"style":79},[1379],{"type":27,"value":690},{"type":21,"tag":72,"props":1381,"children":1382},{"style":222},[1383],{"type":27,"value":1384},"\"obj\"",{"type":21,"tag":72,"props":1386,"children":1387},{"style":79},[1388],{"type":27,"value":1389},": {}, ",{"type":21,"tag":72,"props":1391,"children":1392},{"style":222},[1393],{"type":27,"value":1394},"\"arr\"",{"type":21,"tag":72,"props":1396,"children":1397},{"style":79},[1398],{"type":27,"value":1399},": []}\n",{"type":21,"tag":35,"props":1401,"children":1402},{"id":106},[1403],{"type":27,"value":106},{"type":21,"tag":110,"props":1405,"children":1406},{},[1407,1414],{"type":21,"tag":114,"props":1408,"children":1409},{},[1410],{"type":21,"tag":118,"props":1411,"children":1412},{"href":120},[1413],{"type":27,"value":120},{"type":21,"tag":114,"props":1415,"children":1416},{},[1417],{"type":21,"tag":118,"props":1418,"children":1420},{"href":1419},"/visualize",[1421],{"type":27,"value":1419},{"type":21,"tag":35,"props":1423,"children":1424},{"id":133},[1425],{"type":27,"value":133},{"type":21,"tag":29,"props":1427,"children":1428},{},[1429],{"type":27,"value":1430},"JSON 支持六种数据类型：string、number、boolean、null、object、array，本文逐一详解。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":1432,"children":1433},{},[1434],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":1436},[1437,1438,1439,1440,1441],{"id":1274,"depth":148,"text":1274},{"id":1284,"depth":148,"text":1284},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-data-types.md","blog/json-data-types.md","blog/json-data-types",{"_path":1446,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":1447,"description":1448,"date":11,"category":12,"keywords":1449,"body":1453,"_type":155,"_id":1562,"_source":157,"_file":1563,"_stem":1564,"_extension":160},"/blog/json-deep-dive","JSON 深度解析：从语法到生态","全面回顾 JSON：语法、类型、生态、工具、最佳实践，一文打通 JSON 知识体系。",[1450,1451,1452],"json深度","json总结","json知识体系",{"type":18,"children":1454,"toc":1555},[1455,1460,1465,1470,1475,1480,1485,1489,1521,1525,1542,1546,1551],{"type":21,"tag":22,"props":1456,"children":1458},{"id":1457},"json-深度解析从语法到生态",[1459],{"type":27,"value":1447},{"type":21,"tag":29,"props":1461,"children":1462},{},[1463],{"type":27,"value":1464},"本文全面梳理 JSON 从语法、类型到生态工具的知识体系，助你打通 JSON。",{"type":21,"tag":35,"props":1466,"children":1468},{"id":1467},"知识脉络",[1469],{"type":27,"value":1467},{"type":21,"tag":29,"props":1471,"children":1472},{},[1473],{"type":27,"value":1474},"语法规则→六种类型→嵌套结构→序列化→校验→转换→代码生成→生态工具。",{"type":21,"tag":35,"props":1476,"children":1478},{"id":1477},"工具推荐",[1479],{"type":27,"value":1477},{"type":21,"tag":29,"props":1481,"children":1482},{},[1483],{"type":27,"value":1484},"JSONDog 提供格式化、校验、转换、代码生成、可视化等全套 JSON 工具，纯前端零上传。",{"type":21,"tag":35,"props":1486,"children":1487},{"id":57},[1488],{"type":27,"value":57},{"type":21,"tag":61,"props":1490,"children":1492},{"className":63,"code":1491,"language":65,"meta":8,"style":8},"{\"summary\": \"JSON 知识体系\"}\n",[1493],{"type":21,"tag":68,"props":1494,"children":1495},{"__ignoreMap":8},[1496],{"type":21,"tag":72,"props":1497,"children":1498},{"class":74,"line":75},[1499,1503,1508,1512,1517],{"type":21,"tag":72,"props":1500,"children":1501},{"style":79},[1502],{"type":27,"value":82},{"type":21,"tag":72,"props":1504,"children":1505},{"style":222},[1506],{"type":27,"value":1507},"\"summary\"",{"type":21,"tag":72,"props":1509,"children":1510},{"style":79},[1511],{"type":27,"value":93},{"type":21,"tag":72,"props":1513,"children":1514},{"style":555},[1515],{"type":27,"value":1516},"\"JSON 知识体系\"",{"type":21,"tag":72,"props":1518,"children":1519},{"style":79},[1520],{"type":27,"value":1069},{"type":21,"tag":35,"props":1522,"children":1523},{"id":106},[1524],{"type":27,"value":106},{"type":21,"tag":110,"props":1526,"children":1527},{},[1528,1535],{"type":21,"tag":114,"props":1529,"children":1530},{},[1531],{"type":21,"tag":118,"props":1532,"children":1533},{"href":128},[1534],{"type":27,"value":128},{"type":21,"tag":114,"props":1536,"children":1537},{},[1538],{"type":21,"tag":118,"props":1539,"children":1540},{"href":120},[1541],{"type":27,"value":120},{"type":21,"tag":35,"props":1543,"children":1544},{"id":133},[1545],{"type":27,"value":133},{"type":21,"tag":29,"props":1547,"children":1548},{},[1549],{"type":27,"value":1550},"全面回顾 JSON：语法、类型、生态、工具、最佳实践，一文打通 JSON 知识体系。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":1552,"children":1553},{},[1554],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":1556},[1557,1558,1559,1560,1561],{"id":1467,"depth":148,"text":1467},{"id":1477,"depth":148,"text":1477},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-deep-dive.md","blog/json-deep-dive.md","blog/json-deep-dive",{"_path":1566,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":1567,"description":1568,"date":11,"category":607,"keywords":1569,"body":1573,"_type":155,"_id":1682,"_source":157,"_file":1683,"_stem":1684,"_extension":160},"/blog/json-deserialization","JSON 反序列化注意事项","JSON 反序列化将字符串转为对象，需注意类型丢失、精度、安全与错误处理。",[1570,1571,1572],"json反序列化","json parse","反序列化",{"type":18,"children":1574,"toc":1675},[1575,1580,1585,1590,1595,1600,1605,1609,1641,1645,1662,1666,1671],{"type":21,"tag":22,"props":1576,"children":1578},{"id":1577},"json-反序列化注意事项",[1579],{"type":27,"value":1567},{"type":21,"tag":29,"props":1581,"children":1582},{},[1583],{"type":27,"value":1584},"JSON 反序列化将 JSON 字符串解析为内存对象，过程中需注意类型、精度与安全。",{"type":21,"tag":35,"props":1586,"children":1588},{"id":1587},"常见问题",[1589],{"type":27,"value":1587},{"type":21,"tag":29,"props":1591,"children":1592},{},[1593],{"type":27,"value":1594},"大整数精度丢失（JS Number 限制）、日期需手动转换、类型信息丢失、非法 JSON 抛错。",{"type":21,"tag":35,"props":1596,"children":1598},{"id":1597},"安全",[1599],{"type":27,"value":1597},{"type":21,"tag":29,"props":1601,"children":1602},{},[1603],{"type":27,"value":1604},"避免 eval 解析（注入风险），使用 JSON.parse；注意原型链污染。",{"type":21,"tag":35,"props":1606,"children":1607},{"id":57},[1608],{"type":27,"value":57},{"type":21,"tag":61,"props":1610,"children":1612},{"className":63,"code":1611,"language":65,"meta":8,"style":8},"JSON.parse('{\"a\":1}')\n",[1613],{"type":21,"tag":68,"props":1614,"children":1615},{"__ignoreMap":8},[1616],{"type":21,"tag":72,"props":1617,"children":1618},{"class":74,"line":75},[1619,1624,1628,1632,1636],{"type":21,"tag":72,"props":1620,"children":1621},{"style":79},[1622],{"type":27,"value":1623},"JSON.parse('{",{"type":21,"tag":72,"props":1625,"children":1626},{"style":222},[1627],{"type":27,"value":225},{"type":21,"tag":72,"props":1629,"children":1630},{"style":79},[1631],{"type":27,"value":230},{"type":21,"tag":72,"props":1633,"children":1634},{"style":222},[1635],{"type":27,"value":235},{"type":21,"tag":72,"props":1637,"children":1638},{"style":79},[1639],{"type":27,"value":1640},"}')\n",{"type":21,"tag":35,"props":1642,"children":1643},{"id":106},[1644],{"type":27,"value":106},{"type":21,"tag":110,"props":1646,"children":1647},{},[1648,1655],{"type":21,"tag":114,"props":1649,"children":1650},{},[1651],{"type":21,"tag":118,"props":1652,"children":1653},{"href":120},[1654],{"type":27,"value":120},{"type":21,"tag":114,"props":1656,"children":1657},{},[1658],{"type":21,"tag":118,"props":1659,"children":1660},{"href":128},[1661],{"type":27,"value":128},{"type":21,"tag":35,"props":1663,"children":1664},{"id":133},[1665],{"type":27,"value":133},{"type":21,"tag":29,"props":1667,"children":1668},{},[1669],{"type":27,"value":1670},"JSON 反序列化将字符串转为对象，需注意类型丢失、精度、安全与错误处理。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":1672,"children":1673},{},[1674],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":1676},[1677,1678,1679,1680,1681],{"id":1587,"depth":148,"text":1587},{"id":1597,"depth":148,"text":1597},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-deserialization.md","blog/json-deserialization.md","blog/json-deserialization",{"_path":1686,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":1687,"description":1688,"date":11,"category":165,"keywords":1689,"body":1693,"_type":155,"_id":1849,"_source":157,"_file":1850,"_stem":1851,"_extension":160},"/blog/json-diff-compare","JSON 对比与差异分析","JSON 对比工具递归比较两段 JSON，输出新增、删除、修改的节点路径。",[1690,1691,1692],"json对比","json diff","json compare",{"type":18,"children":1694,"toc":1842},[1695,1700,1705,1710,1715,1719,1724,1728,1807,1811,1829,1833,1838],{"type":21,"tag":22,"props":1696,"children":1698},{"id":1697},"json-对比与差异分析",[1699],{"type":27,"value":1687},{"type":21,"tag":29,"props":1701,"children":1702},{},[1703],{"type":27,"value":1704},"JSON 对比工具递归比较两段 JSON 的差异，输出每个新增、删除、修改节点的路径，便于排查变更。",{"type":21,"tag":35,"props":1706,"children":1708},{"id":1707},"对比规则",[1709],{"type":27,"value":1707},{"type":21,"tag":29,"props":1711,"children":1712},{},[1713],{"type":27,"value":1714},"对象按键名比较不区分顺序，数组按索引比较，基本值按相等比较。",{"type":21,"tag":35,"props":1716,"children":1717},{"id":815},[1718],{"type":27,"value":815},{"type":21,"tag":29,"props":1720,"children":1721},{},[1722],{"type":27,"value":1723},"对比 API 两次返回、排查配置变更、版本差异分析。",{"type":21,"tag":35,"props":1725,"children":1726},{"id":57},[1727],{"type":27,"value":57},{"type":21,"tag":61,"props":1729,"children":1731},{"className":63,"code":1730,"language":65,"meta":8,"style":8},"{\"a\":1,\"b\":2} vs {\"a\":1,\"c\":3}\n",[1732],{"type":21,"tag":68,"props":1733,"children":1734},{"__ignoreMap":8},[1735],{"type":21,"tag":72,"props":1736,"children":1737},{"class":74,"line":75},[1738,1742,1746,1750,1754,1758,1762,1766,1770,1775,1779,1783,1787,1791,1795,1799,1803],{"type":21,"tag":72,"props":1739,"children":1740},{"style":79},[1741],{"type":27,"value":82},{"type":21,"tag":72,"props":1743,"children":1744},{"style":222},[1745],{"type":27,"value":225},{"type":21,"tag":72,"props":1747,"children":1748},{"style":79},[1749],{"type":27,"value":230},{"type":21,"tag":72,"props":1751,"children":1752},{"style":222},[1753],{"type":27,"value":235},{"type":21,"tag":72,"props":1755,"children":1756},{"style":79},[1757],{"type":27,"value":240},{"type":21,"tag":72,"props":1759,"children":1760},{"style":222},[1761],{"type":27,"value":245},{"type":21,"tag":72,"props":1763,"children":1764},{"style":79},[1765],{"type":27,"value":230},{"type":21,"tag":72,"props":1767,"children":1768},{"style":222},[1769],{"type":27,"value":264},{"type":21,"tag":72,"props":1771,"children":1772},{"style":79},[1773],{"type":27,"value":1774},"} vs {",{"type":21,"tag":72,"props":1776,"children":1777},{"style":222},[1778],{"type":27,"value":225},{"type":21,"tag":72,"props":1780,"children":1781},{"style":79},[1782],{"type":27,"value":230},{"type":21,"tag":72,"props":1784,"children":1785},{"style":222},[1786],{"type":27,"value":235},{"type":21,"tag":72,"props":1788,"children":1789},{"style":79},[1790],{"type":27,"value":240},{"type":21,"tag":72,"props":1792,"children":1793},{"style":222},[1794],{"type":27,"value":255},{"type":21,"tag":72,"props":1796,"children":1797},{"style":79},[1798],{"type":27,"value":230},{"type":21,"tag":72,"props":1800,"children":1801},{"style":222},[1802],{"type":27,"value":410},{"type":21,"tag":72,"props":1804,"children":1805},{"style":79},[1806],{"type":27,"value":1069},{"type":21,"tag":35,"props":1808,"children":1809},{"id":106},[1810],{"type":27,"value":106},{"type":21,"tag":110,"props":1812,"children":1813},{},[1814,1822],{"type":21,"tag":114,"props":1815,"children":1816},{},[1817],{"type":21,"tag":118,"props":1818,"children":1820},{"href":1819},"/diff",[1821],{"type":27,"value":1819},{"type":21,"tag":114,"props":1823,"children":1824},{},[1825],{"type":21,"tag":118,"props":1826,"children":1827},{"href":128},[1828],{"type":27,"value":128},{"type":21,"tag":35,"props":1830,"children":1831},{"id":133},[1832],{"type":27,"value":133},{"type":21,"tag":29,"props":1834,"children":1835},{},[1836],{"type":27,"value":1837},"JSON 对比工具递归比较两段 JSON，输出新增、删除、修改的节点路径。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":1839,"children":1840},{},[1841],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":1843},[1844,1845,1846,1847,1848],{"id":1707,"depth":148,"text":1707},{"id":815,"depth":148,"text":815},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-diff-compare.md","blog/json-diff-compare.md","blog/json-diff-compare",{"_path":1853,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":1854,"description":1855,"date":11,"category":165,"keywords":1856,"body":1860,"_type":155,"_id":2004,"_source":157,"_file":2005,"_stem":2006,"_extension":160},"/blog/json-editor-online","在线 JSON 编辑器推荐","在线 JSON 编辑器提供语法高亮、实时校验、行号，无需安装即可编辑 JSON。",[1857,1858,1859],"json编辑器","json editor","在线编辑json",{"type":18,"children":1861,"toc":1997},[1862,1867,1872,1877,1882,1887,1892,1896,1962,1966,1984,1988,1993],{"type":21,"tag":22,"props":1863,"children":1865},{"id":1864},"在线-json-编辑器推荐",[1866],{"type":27,"value":1854},{"type":21,"tag":29,"props":1868,"children":1869},{},[1870],{"type":27,"value":1871},"在线 JSON 编辑器让你在浏览器中直接编辑 JSON，提供语法高亮、行号、实时校验，无需安装任何软件。",{"type":21,"tag":35,"props":1873,"children":1875},{"id":1874},"编辑器功能",[1876],{"type":27,"value":1874},{"type":21,"tag":29,"props":1878,"children":1879},{},[1880],{"type":27,"value":1881},"语法高亮、实时校验、错误提示、复制下载，数据不出浏览器。",{"type":21,"tag":35,"props":1883,"children":1885},{"id":1884},"相比本地",[1886],{"type":27,"value":1884},{"type":21,"tag":29,"props":1888,"children":1889},{},[1890],{"type":27,"value":1891},"无需安装、跨设备可用、即时上手，适合临时编辑与快速校验。",{"type":21,"tag":35,"props":1893,"children":1894},{"id":57},[1895],{"type":27,"value":57},{"type":21,"tag":61,"props":1897,"children":1899},{"className":63,"code":1898,"language":65,"meta":8,"style":8},"{\n  \"name\": \"JSONDog\",\n  \"tools\": [\"editor\"]\n}\n",[1900],{"type":21,"tag":68,"props":1901,"children":1902},{"__ignoreMap":8},[1903,1910,1932,1955],{"type":21,"tag":72,"props":1904,"children":1905},{"class":74,"line":75},[1906],{"type":21,"tag":72,"props":1907,"children":1908},{"style":79},[1909],{"type":27,"value":1020},{"type":21,"tag":72,"props":1911,"children":1912},{"class":74,"line":148},[1913,1918,1922,1927],{"type":21,"tag":72,"props":1914,"children":1915},{"style":222},[1916],{"type":27,"value":1917},"  \"name\"",{"type":21,"tag":72,"props":1919,"children":1920},{"style":79},[1921],{"type":27,"value":93},{"type":21,"tag":72,"props":1923,"children":1924},{"style":555},[1925],{"type":27,"value":1926},"\"JSONDog\"",{"type":21,"tag":72,"props":1928,"children":1929},{"style":79},[1930],{"type":27,"value":1931},",\n",{"type":21,"tag":72,"props":1933,"children":1934},{"class":74,"line":1036},[1935,1940,1945,1950],{"type":21,"tag":72,"props":1936,"children":1937},{"style":222},[1938],{"type":27,"value":1939},"  \"tools\"",{"type":21,"tag":72,"props":1941,"children":1942},{"style":79},[1943],{"type":27,"value":1944},": [",{"type":21,"tag":72,"props":1946,"children":1947},{"style":555},[1948],{"type":27,"value":1949},"\"editor\"",{"type":21,"tag":72,"props":1951,"children":1952},{"style":79},[1953],{"type":27,"value":1954},"]\n",{"type":21,"tag":72,"props":1956,"children":1957},{"class":74,"line":1054},[1958],{"type":21,"tag":72,"props":1959,"children":1960},{"style":79},[1961],{"type":27,"value":1069},{"type":21,"tag":35,"props":1963,"children":1964},{"id":106},[1965],{"type":27,"value":106},{"type":21,"tag":110,"props":1967,"children":1968},{},[1969,1977],{"type":21,"tag":114,"props":1970,"children":1971},{},[1972],{"type":21,"tag":118,"props":1973,"children":1975},{"href":1974},"/editor",[1976],{"type":27,"value":1974},{"type":21,"tag":114,"props":1978,"children":1979},{},[1980],{"type":21,"tag":118,"props":1981,"children":1982},{"href":128},[1983],{"type":27,"value":128},{"type":21,"tag":35,"props":1985,"children":1986},{"id":133},[1987],{"type":27,"value":133},{"type":21,"tag":29,"props":1989,"children":1990},{},[1991],{"type":27,"value":1992},"在线 JSON 编辑器提供语法高亮、实时校验、行号，无需安装即可编辑 JSON。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":1994,"children":1995},{},[1996],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":1998},[1999,2000,2001,2002,2003],{"id":1874,"depth":148,"text":1874},{"id":1884,"depth":148,"text":1884},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-editor-online.md","blog/json-editor-online.md","blog/json-editor-online",{"_path":2008,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":2009,"description":2010,"date":11,"category":12,"keywords":2011,"body":2015,"_type":155,"_id":2151,"_source":157,"_file":2152,"_stem":2153,"_extension":160},"/blog/json-encoding-issues","JSON 编码问题：中文与 Unicode","JSON 中文与 Unicode 编码问题：\\u 转义、UTF-8 BOM、乱码排查。",[2012,2013,2014],"json编码","json中文","json unicode",{"type":18,"children":2016,"toc":2144},[2017,2022,2027,2032,2037,2042,2047,2051,2109,2113,2131,2135,2140],{"type":21,"tag":22,"props":2018,"children":2020},{"id":2019},"json-编码问题中文与-unicode",[2021],{"type":27,"value":2009},{"type":21,"tag":29,"props":2023,"children":2024},{},[2025],{"type":27,"value":2026},"JSON 涉及中文与 Unicode 时易出现编码问题，需正确处理。",{"type":21,"tag":35,"props":2028,"children":2030},{"id":2029},"中文处理",[2031],{"type":27,"value":2029},{"type":21,"tag":29,"props":2033,"children":2034},{},[2035],{"type":27,"value":2036},"JSON 允许直接写中文（UTF-8），也可能被转义为 \\uXXXX，两者等价。",{"type":21,"tag":35,"props":2038,"children":2040},{"id":2039},"乱码排查",[2041],{"type":27,"value":2039},{"type":21,"tag":29,"props":2043,"children":2044},{},[2045],{"type":27,"value":2046},"检查文件编码是否 UTF-8、有无 BOM、Content-Type 是否声明 charset。",{"type":21,"tag":35,"props":2048,"children":2049},{"id":57},[2050],{"type":27,"value":57},{"type":21,"tag":61,"props":2052,"children":2054},{"className":63,"code":2053,"language":65,"meta":8,"style":8},"{\"name\": \"中文\", \"emoji\": \"\\u4e2d\"}\n",[2055],{"type":21,"tag":68,"props":2056,"children":2057},{"__ignoreMap":8},[2058],{"type":21,"tag":72,"props":2059,"children":2060},{"class":74,"line":75},[2061,2065,2069,2073,2078,2082,2087,2091,2096,2101,2105],{"type":21,"tag":72,"props":2062,"children":2063},{"style":79},[2064],{"type":27,"value":82},{"type":21,"tag":72,"props":2066,"children":2067},{"style":222},[2068],{"type":27,"value":723},{"type":21,"tag":72,"props":2070,"children":2071},{"style":79},[2072],{"type":27,"value":93},{"type":21,"tag":72,"props":2074,"children":2075},{"style":555},[2076],{"type":27,"value":2077},"\"中文\"",{"type":21,"tag":72,"props":2079,"children":2080},{"style":79},[2081],{"type":27,"value":690},{"type":21,"tag":72,"props":2083,"children":2084},{"style":222},[2085],{"type":27,"value":2086},"\"emoji\"",{"type":21,"tag":72,"props":2088,"children":2089},{"style":79},[2090],{"type":27,"value":93},{"type":21,"tag":72,"props":2092,"children":2093},{"style":555},[2094],{"type":27,"value":2095},"\"",{"type":21,"tag":72,"props":2097,"children":2098},{"style":222},[2099],{"type":27,"value":2100},"\\u4e2d",{"type":21,"tag":72,"props":2102,"children":2103},{"style":555},[2104],{"type":27,"value":2095},{"type":21,"tag":72,"props":2106,"children":2107},{"style":79},[2108],{"type":27,"value":1069},{"type":21,"tag":35,"props":2110,"children":2111},{"id":106},[2112],{"type":27,"value":106},{"type":21,"tag":110,"props":2114,"children":2115},{},[2116,2124],{"type":21,"tag":114,"props":2117,"children":2118},{},[2119],{"type":21,"tag":118,"props":2120,"children":2122},{"href":2121},"/encode",[2123],{"type":27,"value":2121},{"type":21,"tag":114,"props":2125,"children":2126},{},[2127],{"type":21,"tag":118,"props":2128,"children":2129},{"href":128},[2130],{"type":27,"value":128},{"type":21,"tag":35,"props":2132,"children":2133},{"id":133},[2134],{"type":27,"value":133},{"type":21,"tag":29,"props":2136,"children":2137},{},[2138],{"type":27,"value":2139},"JSON 中文与 Unicode 编码问题：\\u 转义、UTF-8 BOM、乱码排查。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":2141,"children":2142},{},[2143],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":2145},[2146,2147,2148,2149,2150],{"id":2029,"depth":148,"text":2029},{"id":2039,"depth":148,"text":2039},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-encoding-issues.md","blog/json-encoding-issues.md","blog/json-encoding-issues",{"_path":2155,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":2156,"description":2157,"date":11,"category":965,"keywords":2158,"body":2162,"_type":155,"_id":2309,"_source":157,"_file":2310,"_stem":2311,"_extension":160},"/blog/json-form-data","JSON 与表单数据转换","前端表单常需与 JSON 互转，本文介绍序列化、嵌套表单与提交技巧。",[2159,2160,2161],"json表单","form json","表单序列化",{"type":18,"children":2163,"toc":2302},[2164,2169,2174,2179,2189,2194,2199,2203,2267,2271,2289,2293,2298],{"type":21,"tag":22,"props":2165,"children":2167},{"id":2166},"json-与表单数据转换",[2168],{"type":27,"value":2156},{"type":21,"tag":29,"props":2170,"children":2171},{},[2172],{"type":27,"value":2173},"前端表单数据常需转为 JSON 提交 API，或将 JSON 回填表单，需处理嵌套与数组。",{"type":21,"tag":35,"props":2175,"children":2177},{"id":2176},"转换方式",[2178],{"type":27,"value":2176},{"type":21,"tag":29,"props":2180,"children":2181},{},[2182,2184,2187],{"type":27,"value":2183},"FormData 遍历构建对象、name 用点路径表达嵌套、数组用 ",{"type":21,"tag":72,"props":2185,"children":2186},{},[],{"type":27,"value":2188}," 后缀。",{"type":21,"tag":35,"props":2190,"children":2192},{"id":2191},"库推荐",[2193],{"type":27,"value":2191},{"type":21,"tag":29,"props":2195,"children":2196},{},[2197],{"type":27,"value":2198},"qs、form-serialize、或框架内置（如 Vue v-model）。",{"type":21,"tag":35,"props":2200,"children":2201},{"id":57},[2202],{"type":27,"value":57},{"type":21,"tag":61,"props":2204,"children":2206},{"className":63,"code":2205,"language":65,"meta":8,"style":8},"{\"user\": {\"name\": \"x\", \"tags\": [\"a\", \"b\"]}}\n",[2207],{"type":21,"tag":68,"props":2208,"children":2209},{"__ignoreMap":8},[2210],{"type":21,"tag":72,"props":2211,"children":2212},{"class":74,"line":75},[2213,2217,2221,2225,2229,2233,2237,2241,2246,2250,2254,2258,2262],{"type":21,"tag":72,"props":2214,"children":2215},{"style":79},[2216],{"type":27,"value":82},{"type":21,"tag":72,"props":2218,"children":2219},{"style":222},[2220],{"type":27,"value":685},{"type":21,"tag":72,"props":2222,"children":2223},{"style":79},[2224],{"type":27,"value":718},{"type":21,"tag":72,"props":2226,"children":2227},{"style":222},[2228],{"type":27,"value":723},{"type":21,"tag":72,"props":2230,"children":2231},{"style":79},[2232],{"type":27,"value":93},{"type":21,"tag":72,"props":2234,"children":2235},{"style":555},[2236],{"type":27,"value":732},{"type":21,"tag":72,"props":2238,"children":2239},{"style":79},[2240],{"type":27,"value":690},{"type":21,"tag":72,"props":2242,"children":2243},{"style":222},[2244],{"type":27,"value":2245},"\"tags\"",{"type":21,"tag":72,"props":2247,"children":2248},{"style":79},[2249],{"type":27,"value":1944},{"type":21,"tag":72,"props":2251,"children":2252},{"style":555},[2253],{"type":27,"value":225},{"type":21,"tag":72,"props":2255,"children":2256},{"style":79},[2257],{"type":27,"value":690},{"type":21,"tag":72,"props":2259,"children":2260},{"style":555},[2261],{"type":27,"value":245},{"type":21,"tag":72,"props":2263,"children":2264},{"style":79},[2265],{"type":27,"value":2266},"]}}\n",{"type":21,"tag":35,"props":2268,"children":2269},{"id":106},[2270],{"type":27,"value":106},{"type":21,"tag":110,"props":2272,"children":2273},{},[2274,2282],{"type":21,"tag":114,"props":2275,"children":2276},{},[2277],{"type":21,"tag":118,"props":2278,"children":2280},{"href":2279},"/flatten",[2281],{"type":27,"value":2279},{"type":21,"tag":114,"props":2283,"children":2284},{},[2285],{"type":21,"tag":118,"props":2286,"children":2287},{"href":128},[2288],{"type":27,"value":128},{"type":21,"tag":35,"props":2290,"children":2291},{"id":133},[2292],{"type":27,"value":133},{"type":21,"tag":29,"props":2294,"children":2295},{},[2296],{"type":27,"value":2297},"前端表单常需与 JSON 互转，本文介绍序列化、嵌套表单与提交技巧。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":2299,"children":2300},{},[2301],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":2303},[2304,2305,2306,2307,2308],{"id":2176,"depth":148,"text":2176},{"id":2191,"depth":148,"text":2191},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-form-data.md","blog/json-form-data.md","blog/json-form-data",{"_path":2313,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":2314,"description":2315,"date":11,"category":786,"keywords":2316,"body":2320,"_type":155,"_id":2447,"_source":157,"_file":2448,"_stem":2449,"_extension":160},"/blog/json-history","JSON 的历史与演变","JSON 由 Douglas Crockford 在 2000 年代初提出，现已成为 Web 数据交换事实标准。",[2317,2318,2319],"json历史","json起源","douglas crockford",{"type":18,"children":2321,"toc":2440},[2322,2327,2332,2337,2342,2347,2352,2356,2406,2410,2427,2431,2436],{"type":21,"tag":22,"props":2323,"children":2325},{"id":2324},"json-的历史与演变",[2326],{"type":27,"value":2314},{"type":21,"tag":29,"props":2328,"children":2329},{},[2330],{"type":27,"value":2331},"JSON 由 Douglas Crockford 在 2001 年前后提出并命名，源于 JavaScript 的对象字面量语法。",{"type":21,"tag":35,"props":2333,"children":2335},{"id":2334},"诞生背景",[2336],{"type":27,"value":2334},{"type":21,"tag":29,"props":2338,"children":2339},{},[2340],{"type":27,"value":2341},"为替代 XML 在 Web 数据交换中的笨重，Crockford 提炼出 JavaScript 语法的子集作为轻量数据格式。",{"type":21,"tag":35,"props":2343,"children":2345},{"id":2344},"成为标准",[2346],{"type":27,"value":2344},{"type":21,"tag":29,"props":2348,"children":2349},{},[2350],{"type":27,"value":2351},"2013 年 ECMA-404 标准化，2017 年 RFC 8259 发布，JSON 成为 Web API 事实标准。",{"type":21,"tag":35,"props":2353,"children":2354},{"id":57},[2355],{"type":27,"value":57},{"type":21,"tag":61,"props":2357,"children":2359},{"className":63,"code":2358,"language":65,"meta":8,"style":8},"{\"standard\": \"ECMA-404\", \"year\": 2013}\n",[2360],{"type":21,"tag":68,"props":2361,"children":2362},{"__ignoreMap":8},[2363],{"type":21,"tag":72,"props":2364,"children":2365},{"class":74,"line":75},[2366,2370,2375,2379,2384,2388,2393,2397,2402],{"type":21,"tag":72,"props":2367,"children":2368},{"style":79},[2369],{"type":27,"value":82},{"type":21,"tag":72,"props":2371,"children":2372},{"style":222},[2373],{"type":27,"value":2374},"\"standard\"",{"type":21,"tag":72,"props":2376,"children":2377},{"style":79},[2378],{"type":27,"value":93},{"type":21,"tag":72,"props":2380,"children":2381},{"style":555},[2382],{"type":27,"value":2383},"\"ECMA-404\"",{"type":21,"tag":72,"props":2385,"children":2386},{"style":79},[2387],{"type":27,"value":690},{"type":21,"tag":72,"props":2389,"children":2390},{"style":222},[2391],{"type":27,"value":2392},"\"year\"",{"type":21,"tag":72,"props":2394,"children":2395},{"style":79},[2396],{"type":27,"value":93},{"type":21,"tag":72,"props":2398,"children":2399},{"style":222},[2400],{"type":27,"value":2401},"2013",{"type":21,"tag":72,"props":2403,"children":2404},{"style":79},[2405],{"type":27,"value":1069},{"type":21,"tag":35,"props":2407,"children":2408},{"id":106},[2409],{"type":27,"value":106},{"type":21,"tag":110,"props":2411,"children":2412},{},[2413,2420],{"type":21,"tag":114,"props":2414,"children":2415},{},[2416],{"type":21,"tag":118,"props":2417,"children":2418},{"href":128},[2419],{"type":27,"value":128},{"type":21,"tag":114,"props":2421,"children":2422},{},[2423],{"type":21,"tag":118,"props":2424,"children":2425},{"href":120},[2426],{"type":27,"value":120},{"type":21,"tag":35,"props":2428,"children":2429},{"id":133},[2430],{"type":27,"value":133},{"type":21,"tag":29,"props":2432,"children":2433},{},[2434],{"type":27,"value":2435},"JSON 由 Douglas Crockford 在 2000 年代初提出，现已成为 Web 数据交换事实标准。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":2437,"children":2438},{},[2439],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":2441},[2442,2443,2444,2445,2446],{"id":2334,"depth":148,"text":2334},{"id":2344,"depth":148,"text":2344},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-history.md","blog/json-history.md","blog/json-history",{"_path":2451,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":2452,"description":2453,"date":11,"category":965,"keywords":2454,"body":2458,"_type":155,"_id":2585,"_source":157,"_file":2586,"_stem":2587,"_extension":160},"/blog/json-i18n","JSON 与国际化方案","JSON 是 i18n 资源文件常用格式，按语言分文件，键值映射文案。",[2455,2456,2457],"json i18n","国际化json","多语言json",{"type":18,"children":2459,"toc":2578},[2460,2465,2470,2475,2480,2485,2490,2494,2544,2548,2565,2569,2574],{"type":21,"tag":22,"props":2461,"children":2463},{"id":2462},"json-与国际化方案",[2464],{"type":27,"value":2452},{"type":21,"tag":29,"props":2466,"children":2467},{},[2468],{"type":27,"value":2469},"JSON 是国际化资源文件的常用格式，按语言分文件，键值对映射文案。",{"type":21,"tag":35,"props":2471,"children":2473},{"id":2472},"结构设计",[2474],{"type":27,"value":2472},{"type":21,"tag":29,"props":2476,"children":2477},{},[2478],{"type":27,"value":2479},"按语言分文件（en.json、zh.json），键用点路径或嵌套对象组织命名空间。",{"type":21,"tag":35,"props":2481,"children":2483},{"id":2482},"使用",[2484],{"type":27,"value":2482},{"type":21,"tag":29,"props":2486,"children":2487},{},[2488],{"type":27,"value":2489},"前端 i18n 库加载对应语言 JSON，按键取文案，支持插值与复数。",{"type":21,"tag":35,"props":2491,"children":2492},{"id":57},[2493],{"type":27,"value":57},{"type":21,"tag":61,"props":2495,"children":2497},{"className":63,"code":2496,"language":65,"meta":8,"style":8},"{\"welcome\": \"欢迎\", \"login\": \"登录\"}\n",[2498],{"type":21,"tag":68,"props":2499,"children":2500},{"__ignoreMap":8},[2501],{"type":21,"tag":72,"props":2502,"children":2503},{"class":74,"line":75},[2504,2508,2513,2517,2522,2526,2531,2535,2540],{"type":21,"tag":72,"props":2505,"children":2506},{"style":79},[2507],{"type":27,"value":82},{"type":21,"tag":72,"props":2509,"children":2510},{"style":222},[2511],{"type":27,"value":2512},"\"welcome\"",{"type":21,"tag":72,"props":2514,"children":2515},{"style":79},[2516],{"type":27,"value":93},{"type":21,"tag":72,"props":2518,"children":2519},{"style":555},[2520],{"type":27,"value":2521},"\"欢迎\"",{"type":21,"tag":72,"props":2523,"children":2524},{"style":79},[2525],{"type":27,"value":690},{"type":21,"tag":72,"props":2527,"children":2528},{"style":222},[2529],{"type":27,"value":2530},"\"login\"",{"type":21,"tag":72,"props":2532,"children":2533},{"style":79},[2534],{"type":27,"value":93},{"type":21,"tag":72,"props":2536,"children":2537},{"style":555},[2538],{"type":27,"value":2539},"\"登录\"",{"type":21,"tag":72,"props":2541,"children":2542},{"style":79},[2543],{"type":27,"value":1069},{"type":21,"tag":35,"props":2545,"children":2546},{"id":106},[2547],{"type":27,"value":106},{"type":21,"tag":110,"props":2549,"children":2550},{},[2551,2558],{"type":21,"tag":114,"props":2552,"children":2553},{},[2554],{"type":21,"tag":118,"props":2555,"children":2556},{"href":128},[2557],{"type":27,"value":128},{"type":21,"tag":114,"props":2559,"children":2560},{},[2561],{"type":21,"tag":118,"props":2562,"children":2563},{"href":120},[2564],{"type":27,"value":120},{"type":21,"tag":35,"props":2566,"children":2567},{"id":133},[2568],{"type":27,"value":133},{"type":21,"tag":29,"props":2570,"children":2571},{},[2572],{"type":27,"value":2573},"JSON 是 i18n 资源文件常用格式，按语言分文件，键值映射文案。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":2575,"children":2576},{},[2577],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":2579},[2580,2581,2582,2583,2584],{"id":2472,"depth":148,"text":2472},{"id":2482,"depth":148,"text":2482},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-i18n.md","blog/json-i18n.md","blog/json-i18n",{"_path":2589,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":2590,"description":2591,"date":11,"category":965,"keywords":2592,"body":2596,"_type":155,"_id":2748,"_source":157,"_file":2749,"_stem":2750,"_extension":160},"/blog/json-in-api","JSON 在 API 中的应用","RESTful 与 GraphQL API 普遍用 JSON 作为请求响应格式，本文介绍最佳实践。",[2593,2594,2595],"json api","restful json","api响应",{"type":18,"children":2597,"toc":2741},[2598,2603,2608,2613,2618,2623,2628,2632,2707,2711,2728,2732,2737],{"type":21,"tag":22,"props":2599,"children":2601},{"id":2600},"json-在-api-中的应用",[2602],{"type":27,"value":2590},{"type":21,"tag":29,"props":2604,"children":2605},{},[2606],{"type":27,"value":2607},"JSON 是当今 Web API 事实标准格式，RESTful 与 GraphQL 均广泛采用。",{"type":21,"tag":35,"props":2609,"children":2611},{"id":2610},"响应设计",[2612],{"type":27,"value":2610},{"type":21,"tag":29,"props":2614,"children":2615},{},[2616],{"type":27,"value":2617},"统一状态码与错误结构、合理分页、字段命名一致、避免过深嵌套。",{"type":21,"tag":35,"props":2619,"children":2621},{"id":2620},"最佳实践",[2622],{"type":27,"value":2620},{"type":21,"tag":29,"props":2624,"children":2625},{},[2626],{"type":27,"value":2627},"用 HTTPS、压缩响应、版本化、文档化字段含义。",{"type":21,"tag":35,"props":2629,"children":2630},{"id":57},[2631],{"type":27,"value":57},{"type":21,"tag":61,"props":2633,"children":2635},{"className":63,"code":2634,"language":65,"meta":8,"style":8},"{\"code\": 0, \"data\": {\"id\": 1}, \"message\": \"ok\"}\n",[2636],{"type":21,"tag":68,"props":2637,"children":2638},{"__ignoreMap":8},[2639],{"type":21,"tag":72,"props":2640,"children":2641},{"class":74,"line":75},[2642,2646,2651,2655,2660,2664,2668,2672,2676,2680,2684,2689,2694,2698,2703],{"type":21,"tag":72,"props":2643,"children":2644},{"style":79},[2645],{"type":27,"value":82},{"type":21,"tag":72,"props":2647,"children":2648},{"style":222},[2649],{"type":27,"value":2650},"\"code\"",{"type":21,"tag":72,"props":2652,"children":2653},{"style":79},[2654],{"type":27,"value":93},{"type":21,"tag":72,"props":2656,"children":2657},{"style":222},[2658],{"type":27,"value":2659},"0",{"type":21,"tag":72,"props":2661,"children":2662},{"style":79},[2663],{"type":27,"value":690},{"type":21,"tag":72,"props":2665,"children":2666},{"style":222},[2667],{"type":27,"value":666},{"type":21,"tag":72,"props":2669,"children":2670},{"style":79},[2671],{"type":27,"value":718},{"type":21,"tag":72,"props":2673,"children":2674},{"style":222},[2675],{"type":27,"value":695},{"type":21,"tag":72,"props":2677,"children":2678},{"style":79},[2679],{"type":27,"value":93},{"type":21,"tag":72,"props":2681,"children":2682},{"style":222},[2683],{"type":27,"value":235},{"type":21,"tag":72,"props":2685,"children":2686},{"style":79},[2687],{"type":27,"value":2688},"}, ",{"type":21,"tag":72,"props":2690,"children":2691},{"style":222},[2692],{"type":27,"value":2693},"\"message\"",{"type":21,"tag":72,"props":2695,"children":2696},{"style":79},[2697],{"type":27,"value":93},{"type":21,"tag":72,"props":2699,"children":2700},{"style":555},[2701],{"type":27,"value":2702},"\"ok\"",{"type":21,"tag":72,"props":2704,"children":2705},{"style":79},[2706],{"type":27,"value":1069},{"type":21,"tag":35,"props":2708,"children":2709},{"id":106},[2710],{"type":27,"value":106},{"type":21,"tag":110,"props":2712,"children":2713},{},[2714,2721],{"type":21,"tag":114,"props":2715,"children":2716},{},[2717],{"type":21,"tag":118,"props":2718,"children":2719},{"href":128},[2720],{"type":27,"value":128},{"type":21,"tag":114,"props":2722,"children":2723},{},[2724],{"type":21,"tag":118,"props":2725,"children":2726},{"href":120},[2727],{"type":27,"value":120},{"type":21,"tag":35,"props":2729,"children":2730},{"id":133},[2731],{"type":27,"value":133},{"type":21,"tag":29,"props":2733,"children":2734},{},[2735],{"type":27,"value":2736},"RESTful 与 GraphQL API 普遍用 JSON 作为请求响应格式，本文介绍最佳实践。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":2738,"children":2739},{},[2740],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":2742},[2743,2744,2745,2746,2747],{"id":2610,"depth":148,"text":2610},{"id":2620,"depth":148,"text":2620},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-in-api.md","blog/json-in-api.md","blog/json-in-api",{"_path":2752,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":2753,"description":2754,"date":11,"category":965,"keywords":2755,"body":2759,"_type":155,"_id":2903,"_source":157,"_file":2904,"_stem":2905,"_extension":160},"/blog/json-in-database","JSON 在数据库中的应用","PostgreSQL、MySQL、MongoDB 等支持 JSON 类型，可灵活存储半结构化数据。",[2756,2757,2758],"json数据库","jsonb","json列",{"type":18,"children":2760,"toc":2896},[2761,2766,2771,2776,2781,2786,2791,2795,2862,2866,2883,2887,2892],{"type":21,"tag":22,"props":2762,"children":2764},{"id":2763},"json-在数据库中的应用",[2765],{"type":27,"value":2753},{"type":21,"tag":29,"props":2767,"children":2768},{},[2769],{"type":27,"value":2770},"现代关系数据库支持 JSON 类型字段，可灵活存储半结构化数据并查询。",{"type":21,"tag":35,"props":2772,"children":2774},{"id":2773},"各库支持",[2775],{"type":27,"value":2773},{"type":21,"tag":29,"props":2777,"children":2778},{},[2779],{"type":27,"value":2780},"PostgreSQL 的 jsonb 可索引查询、MySQL 的 JSON 类型、MongoDB 原生 BSON。",{"type":21,"tag":35,"props":2782,"children":2784},{"id":2783},"使用建议",[2785],{"type":27,"value":2783},{"type":21,"tag":29,"props":2787,"children":2788},{},[2789],{"type":27,"value":2790},"频繁查询的字段提为列，JSON 存可变部分；注意索引与性能。",{"type":21,"tag":35,"props":2792,"children":2793},{"id":57},[2794],{"type":27,"value":57},{"type":21,"tag":61,"props":2796,"children":2798},{"className":63,"code":2797,"language":65,"meta":8,"style":8},"{\"profile\": {\"name\": \"x\", \"prefs\": {\"theme\": \"dark\"}}}\n",[2799],{"type":21,"tag":68,"props":2800,"children":2801},{"__ignoreMap":8},[2802],{"type":21,"tag":72,"props":2803,"children":2804},{"class":74,"line":75},[2805,2809,2814,2818,2822,2826,2830,2834,2839,2843,2848,2852,2857],{"type":21,"tag":72,"props":2806,"children":2807},{"style":79},[2808],{"type":27,"value":82},{"type":21,"tag":72,"props":2810,"children":2811},{"style":222},[2812],{"type":27,"value":2813},"\"profile\"",{"type":21,"tag":72,"props":2815,"children":2816},{"style":79},[2817],{"type":27,"value":718},{"type":21,"tag":72,"props":2819,"children":2820},{"style":222},[2821],{"type":27,"value":723},{"type":21,"tag":72,"props":2823,"children":2824},{"style":79},[2825],{"type":27,"value":93},{"type":21,"tag":72,"props":2827,"children":2828},{"style":555},[2829],{"type":27,"value":732},{"type":21,"tag":72,"props":2831,"children":2832},{"style":79},[2833],{"type":27,"value":690},{"type":21,"tag":72,"props":2835,"children":2836},{"style":222},[2837],{"type":27,"value":2838},"\"prefs\"",{"type":21,"tag":72,"props":2840,"children":2841},{"style":79},[2842],{"type":27,"value":718},{"type":21,"tag":72,"props":2844,"children":2845},{"style":222},[2846],{"type":27,"value":2847},"\"theme\"",{"type":21,"tag":72,"props":2849,"children":2850},{"style":79},[2851],{"type":27,"value":93},{"type":21,"tag":72,"props":2853,"children":2854},{"style":555},[2855],{"type":27,"value":2856},"\"dark\"",{"type":21,"tag":72,"props":2858,"children":2859},{"style":79},[2860],{"type":27,"value":2861},"}}}\n",{"type":21,"tag":35,"props":2863,"children":2864},{"id":106},[2865],{"type":27,"value":106},{"type":21,"tag":110,"props":2867,"children":2868},{},[2869,2876],{"type":21,"tag":114,"props":2870,"children":2871},{},[2872],{"type":21,"tag":118,"props":2873,"children":2874},{"href":128},[2875],{"type":27,"value":128},{"type":21,"tag":114,"props":2877,"children":2878},{},[2879],{"type":21,"tag":118,"props":2880,"children":2881},{"href":120},[2882],{"type":27,"value":120},{"type":21,"tag":35,"props":2884,"children":2885},{"id":133},[2886],{"type":27,"value":133},{"type":21,"tag":29,"props":2888,"children":2889},{},[2890],{"type":27,"value":2891},"PostgreSQL、MySQL、MongoDB 等支持 JSON 类型，可灵活存储半结构化数据。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":2893,"children":2894},{},[2895],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":2897},[2898,2899,2900,2901,2902],{"id":2773,"depth":148,"text":2773},{"id":2783,"depth":148,"text":2783},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-in-database.md","blog/json-in-database.md","blog/json-in-database",{"_path":2907,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":2908,"description":2909,"date":11,"category":965,"keywords":2910,"body":2914,"_type":155,"_id":3059,"_source":157,"_file":3060,"_stem":3061,"_extension":160},"/blog/json-logging","JSON 日志格式最佳实践","结构化 JSON 日志便于机器检索分析，本文介绍字段设计与采集。",[2911,2912,2913],"json日志","结构化日志","json log",{"type":18,"children":2915,"toc":3052},[2916,2921,2926,2931,2936,2941,2946,2950,3018,3022,3039,3043,3048],{"type":21,"tag":22,"props":2917,"children":2919},{"id":2918},"json-日志格式最佳实践",[2920],{"type":27,"value":2908},{"type":21,"tag":29,"props":2922,"children":2923},{},[2924],{"type":27,"value":2925},"结构化 JSON 日志便于 ELK、Loki 等系统检索分析，优于纯文本日志。",{"type":21,"tag":35,"props":2927,"children":2929},{"id":2928},"字段设计",[2930],{"type":27,"value":2928},{"type":21,"tag":29,"props":2932,"children":2933},{},[2934],{"type":27,"value":2935},"time、level、msg、service、traceId 等标准字段，业务字段扁平化。",{"type":21,"tag":35,"props":2937,"children":2939},{"id":2938},"采集",[2940],{"type":27,"value":2938},{"type":21,"tag":29,"props":2942,"children":2943},{},[2944],{"type":27,"value":2945},"每行一条 JSON（NDJSON），便于流式采集与解析。",{"type":21,"tag":35,"props":2947,"children":2948},{"id":57},[2949],{"type":27,"value":57},{"type":21,"tag":61,"props":2951,"children":2953},{"className":63,"code":2952,"language":65,"meta":8,"style":8},"{\"time\":\"2026-08-19T10:00:00Z\",\"level\":\"info\",\"msg\":\"started\"}\n",[2954],{"type":21,"tag":68,"props":2955,"children":2956},{"__ignoreMap":8},[2957],{"type":21,"tag":72,"props":2958,"children":2959},{"class":74,"line":75},[2960,2964,2969,2973,2978,2982,2987,2991,2996,3000,3005,3009,3014],{"type":21,"tag":72,"props":2961,"children":2962},{"style":79},[2963],{"type":27,"value":82},{"type":21,"tag":72,"props":2965,"children":2966},{"style":222},[2967],{"type":27,"value":2968},"\"time\"",{"type":21,"tag":72,"props":2970,"children":2971},{"style":79},[2972],{"type":27,"value":230},{"type":21,"tag":72,"props":2974,"children":2975},{"style":555},[2976],{"type":27,"value":2977},"\"2026-08-19T10:00:00Z\"",{"type":21,"tag":72,"props":2979,"children":2980},{"style":79},[2981],{"type":27,"value":240},{"type":21,"tag":72,"props":2983,"children":2984},{"style":222},[2985],{"type":27,"value":2986},"\"level\"",{"type":21,"tag":72,"props":2988,"children":2989},{"style":79},[2990],{"type":27,"value":230},{"type":21,"tag":72,"props":2992,"children":2993},{"style":555},[2994],{"type":27,"value":2995},"\"info\"",{"type":21,"tag":72,"props":2997,"children":2998},{"style":79},[2999],{"type":27,"value":240},{"type":21,"tag":72,"props":3001,"children":3002},{"style":222},[3003],{"type":27,"value":3004},"\"msg\"",{"type":21,"tag":72,"props":3006,"children":3007},{"style":79},[3008],{"type":27,"value":230},{"type":21,"tag":72,"props":3010,"children":3011},{"style":555},[3012],{"type":27,"value":3013},"\"started\"",{"type":21,"tag":72,"props":3015,"children":3016},{"style":79},[3017],{"type":27,"value":1069},{"type":21,"tag":35,"props":3019,"children":3020},{"id":106},[3021],{"type":27,"value":106},{"type":21,"tag":110,"props":3023,"children":3024},{},[3025,3032],{"type":21,"tag":114,"props":3026,"children":3027},{},[3028],{"type":21,"tag":118,"props":3029,"children":3030},{"href":128},[3031],{"type":27,"value":128},{"type":21,"tag":114,"props":3033,"children":3034},{},[3035],{"type":21,"tag":118,"props":3036,"children":3037},{"href":289},[3038],{"type":27,"value":289},{"type":21,"tag":35,"props":3040,"children":3041},{"id":133},[3042],{"type":27,"value":133},{"type":21,"tag":29,"props":3044,"children":3045},{},[3046],{"type":27,"value":3047},"结构化 JSON 日志便于机器检索分析，本文介绍字段设计与采集。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":3049,"children":3050},{},[3051],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":3053},[3054,3055,3056,3057,3058],{"id":2928,"depth":148,"text":2928},{"id":2938,"depth":148,"text":2938},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-logging.md","blog/json-logging.md","blog/json-logging",{"_path":3063,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":3064,"description":3065,"date":11,"category":165,"keywords":3066,"body":3070,"_type":155,"_id":3210,"_source":157,"_file":3211,"_stem":3212,"_extension":160},"/blog/json-mock-generator","JSON Mock 数据生成","根据 JSON 样本结构生成随机 Mock 数据，保持类型与结构，用于测试。",[3067,3068,3069],"json mock","mock数据","假数据生成",{"type":18,"children":3071,"toc":3203},[3072,3077,3082,3087,3092,3096,3101,3105,3168,3172,3190,3194,3199],{"type":21,"tag":22,"props":3073,"children":3075},{"id":3074},"json-mock-数据生成",[3076],{"type":27,"value":3064},{"type":21,"tag":29,"props":3078,"children":3079},{},[3080],{"type":27,"value":3081},"Mock 数据生成器根据 JSON 样本结构生成随机假数据，保持类型与层级，用于测试与开发。",{"type":21,"tag":35,"props":3083,"children":3085},{"id":3084},"生成规则",[3086],{"type":27,"value":3084},{"type":21,"tag":29,"props":3088,"children":3089},{},[3090],{"type":27,"value":3091},"字符串生成随机串、数字生成随机数、布尔随机真假、null 保持、结构与嵌套保留。",{"type":21,"tag":35,"props":3093,"children":3094},{"id":815},[3095],{"type":27,"value":815},{"type":21,"tag":29,"props":3097,"children":3098},{},[3099],{"type":27,"value":3100},"前端联调、单元测试、接口演示、占位数据。",{"type":21,"tag":35,"props":3102,"children":3103},{"id":57},[3104],{"type":27,"value":57},{"type":21,"tag":61,"props":3106,"children":3108},{"className":63,"code":3107,"language":65,"meta":8,"style":8},"{\"id\": 1, \"name\": \"x\", \"active\": true}\n",[3109],{"type":21,"tag":68,"props":3110,"children":3111},{"__ignoreMap":8},[3112],{"type":21,"tag":72,"props":3113,"children":3114},{"class":74,"line":75},[3115,3119,3123,3127,3131,3135,3139,3143,3147,3151,3156,3160,3164],{"type":21,"tag":72,"props":3116,"children":3117},{"style":79},[3118],{"type":27,"value":82},{"type":21,"tag":72,"props":3120,"children":3121},{"style":222},[3122],{"type":27,"value":695},{"type":21,"tag":72,"props":3124,"children":3125},{"style":79},[3126],{"type":27,"value":93},{"type":21,"tag":72,"props":3128,"children":3129},{"style":222},[3130],{"type":27,"value":235},{"type":21,"tag":72,"props":3132,"children":3133},{"style":79},[3134],{"type":27,"value":690},{"type":21,"tag":72,"props":3136,"children":3137},{"style":222},[3138],{"type":27,"value":723},{"type":21,"tag":72,"props":3140,"children":3141},{"style":79},[3142],{"type":27,"value":93},{"type":21,"tag":72,"props":3144,"children":3145},{"style":555},[3146],{"type":27,"value":732},{"type":21,"tag":72,"props":3148,"children":3149},{"style":79},[3150],{"type":27,"value":690},{"type":21,"tag":72,"props":3152,"children":3153},{"style":222},[3154],{"type":27,"value":3155},"\"active\"",{"type":21,"tag":72,"props":3157,"children":3158},{"style":79},[3159],{"type":27,"value":93},{"type":21,"tag":72,"props":3161,"children":3162},{"style":222},[3163],{"type":27,"value":863},{"type":21,"tag":72,"props":3165,"children":3166},{"style":79},[3167],{"type":27,"value":1069},{"type":21,"tag":35,"props":3169,"children":3170},{"id":106},[3171],{"type":27,"value":106},{"type":21,"tag":110,"props":3173,"children":3174},{},[3175,3183],{"type":21,"tag":114,"props":3176,"children":3177},{},[3178],{"type":21,"tag":118,"props":3179,"children":3181},{"href":3180},"/mock",[3182],{"type":27,"value":3180},{"type":21,"tag":114,"props":3184,"children":3185},{},[3186],{"type":21,"tag":118,"props":3187,"children":3188},{"href":128},[3189],{"type":27,"value":128},{"type":21,"tag":35,"props":3191,"children":3192},{"id":133},[3193],{"type":27,"value":133},{"type":21,"tag":29,"props":3195,"children":3196},{},[3197],{"type":27,"value":3198},"根据 JSON 样本结构生成随机 Mock 数据，保持类型与结构，用于测试。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":3200,"children":3201},{},[3202],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":3204},[3205,3206,3207,3208,3209],{"id":3084,"depth":148,"text":3084},{"id":815,"depth":148,"text":815},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-mock-generator.md","blog/json-mock-generator.md","blog/json-mock-generator",{"_path":3214,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":3215,"description":3216,"date":11,"category":786,"keywords":3217,"body":3220,"_type":155,"_id":3358,"_source":157,"_file":3359,"_stem":3360,"_extension":160},"/blog/json-nested","JSON 嵌套结构处理","JSON 支持对象与数组无限嵌套，本文讲解嵌套结构的设计、访问与扁平化技巧。",[3218,3219,1450],"json嵌套","json嵌套结构",{"type":18,"children":3221,"toc":3351},[3222,3227,3232,3237,3242,3247,3258,3262,3317,3321,3338,3342,3347],{"type":21,"tag":22,"props":3223,"children":3225},{"id":3224},"json-嵌套结构处理",[3226],{"type":27,"value":3215},{"type":21,"tag":29,"props":3228,"children":3229},{},[3230],{"type":27,"value":3231},"JSON 的强大之处在于对象与数组可以任意嵌套，表达复杂的层级数据，但过深嵌套也会带来处理难度。",{"type":21,"tag":35,"props":3233,"children":3235},{"id":3234},"合理嵌套",[3236],{"type":27,"value":3234},{"type":21,"tag":29,"props":3238,"children":3239},{},[3240],{"type":27,"value":3241},"建议嵌套深度控制在 3-4 层以内，过深不利于阅读与维护，可用扁平化工具简化。",{"type":21,"tag":35,"props":3243,"children":3245},{"id":3244},"路径访问",[3246],{"type":27,"value":3244},{"type":21,"tag":29,"props":3248,"children":3249},{},[3250,3252,3256],{"type":27,"value":3251},"嵌套值通过点路径或索引访问，如 user.address.city 或 list",{"type":21,"tag":72,"props":3253,"children":3254},{},[3255],{"type":27,"value":2659},{"type":27,"value":3257},".name。",{"type":21,"tag":35,"props":3259,"children":3260},{"id":57},[3261],{"type":27,"value":57},{"type":21,"tag":61,"props":3263,"children":3265},{"className":63,"code":3264,"language":65,"meta":8,"style":8},"{\"a\": {\"b\": {\"c\": {\"d\": 1}}}}\n",[3266],{"type":21,"tag":68,"props":3267,"children":3268},{"__ignoreMap":8},[3269],{"type":21,"tag":72,"props":3270,"children":3271},{"class":74,"line":75},[3272,3276,3280,3284,3288,3292,3296,3300,3304,3308,3312],{"type":21,"tag":72,"props":3273,"children":3274},{"style":79},[3275],{"type":27,"value":82},{"type":21,"tag":72,"props":3277,"children":3278},{"style":222},[3279],{"type":27,"value":225},{"type":21,"tag":72,"props":3281,"children":3282},{"style":79},[3283],{"type":27,"value":718},{"type":21,"tag":72,"props":3285,"children":3286},{"style":222},[3287],{"type":27,"value":245},{"type":21,"tag":72,"props":3289,"children":3290},{"style":79},[3291],{"type":27,"value":718},{"type":21,"tag":72,"props":3293,"children":3294},{"style":222},[3295],{"type":27,"value":255},{"type":21,"tag":72,"props":3297,"children":3298},{"style":79},[3299],{"type":27,"value":718},{"type":21,"tag":72,"props":3301,"children":3302},{"style":222},[3303],{"type":27,"value":428},{"type":21,"tag":72,"props":3305,"children":3306},{"style":79},[3307],{"type":27,"value":93},{"type":21,"tag":72,"props":3309,"children":3310},{"style":222},[3311],{"type":27,"value":235},{"type":21,"tag":72,"props":3313,"children":3314},{"style":79},[3315],{"type":27,"value":3316},"}}}}\n",{"type":21,"tag":35,"props":3318,"children":3319},{"id":106},[3320],{"type":27,"value":106},{"type":21,"tag":110,"props":3322,"children":3323},{},[3324,3331],{"type":21,"tag":114,"props":3325,"children":3326},{},[3327],{"type":21,"tag":118,"props":3328,"children":3329},{"href":2279},[3330],{"type":27,"value":2279},{"type":21,"tag":114,"props":3332,"children":3333},{},[3334],{"type":21,"tag":118,"props":3335,"children":3336},{"href":928},[3337],{"type":27,"value":928},{"type":21,"tag":35,"props":3339,"children":3340},{"id":133},[3341],{"type":27,"value":133},{"type":21,"tag":29,"props":3343,"children":3344},{},[3345],{"type":27,"value":3346},"JSON 支持对象与数组无限嵌套，本文讲解嵌套结构的设计、访问与扁平化技巧。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":3348,"children":3349},{},[3350],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":3352},[3353,3354,3355,3356,3357],{"id":3234,"depth":148,"text":3234},{"id":3244,"depth":148,"text":3244},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-nested.md","blog/json-nested.md","blog/json-nested",{"_path":3362,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":3363,"description":3364,"date":11,"category":786,"keywords":3365,"body":3369,"_type":155,"_id":3512,"_source":157,"_file":3513,"_stem":3514,"_extension":160},"/blog/json-object","JSON 对象详解","JSON 对象是无序键值对集合，用花括号包裹，键必须是字符串，值可为任意类型。",[3366,3367,3368],"json对象","json object","键值对",{"type":18,"children":3370,"toc":3505},[3371,3376,3381,3386,3391,3396,3401,3405,3471,3475,3492,3496,3501],{"type":21,"tag":22,"props":3372,"children":3374},{"id":3373},"json-对象详解",[3375],{"type":27,"value":3363},{"type":21,"tag":29,"props":3377,"children":3378},{},[3379],{"type":27,"value":3380},"JSON 对象是 JSON 最核心的结构，用花括号包裹的键值对集合，键名必须是双引号字符串。",{"type":21,"tag":35,"props":3382,"children":3384},{"id":3383},"对象结构",[3385],{"type":27,"value":3383},{"type":21,"tag":29,"props":3387,"children":3388},{},[3389],{"type":27,"value":3390},"对象由零或多个键值对组成，键值对之间用逗号分隔，键与值用冒号连接。键名唯一，重复键后值覆盖前值。",{"type":21,"tag":35,"props":3392,"children":3394},{"id":3393},"嵌套对象",[3395],{"type":27,"value":3393},{"type":21,"tag":29,"props":3397,"children":3398},{},[3399],{"type":27,"value":3400},"对象的值可以是另一个对象，形成多层嵌套，适合表达层级数据。",{"type":21,"tag":35,"props":3402,"children":3403},{"id":57},[3404],{"type":27,"value":57},{"type":21,"tag":61,"props":3406,"children":3408},{"className":63,"code":3407,"language":65,"meta":8,"style":8},"{\"user\": {\"name\": \"李四\", \"address\": {\"city\": \"上海\"}}}\n",[3409],{"type":21,"tag":68,"props":3410,"children":3411},{"__ignoreMap":8},[3412],{"type":21,"tag":72,"props":3413,"children":3414},{"class":74,"line":75},[3415,3419,3423,3427,3431,3435,3440,3444,3449,3453,3458,3462,3467],{"type":21,"tag":72,"props":3416,"children":3417},{"style":79},[3418],{"type":27,"value":82},{"type":21,"tag":72,"props":3420,"children":3421},{"style":222},[3422],{"type":27,"value":685},{"type":21,"tag":72,"props":3424,"children":3425},{"style":79},[3426],{"type":27,"value":718},{"type":21,"tag":72,"props":3428,"children":3429},{"style":222},[3430],{"type":27,"value":723},{"type":21,"tag":72,"props":3432,"children":3433},{"style":79},[3434],{"type":27,"value":93},{"type":21,"tag":72,"props":3436,"children":3437},{"style":555},[3438],{"type":27,"value":3439},"\"李四\"",{"type":21,"tag":72,"props":3441,"children":3442},{"style":79},[3443],{"type":27,"value":690},{"type":21,"tag":72,"props":3445,"children":3446},{"style":222},[3447],{"type":27,"value":3448},"\"address\"",{"type":21,"tag":72,"props":3450,"children":3451},{"style":79},[3452],{"type":27,"value":718},{"type":21,"tag":72,"props":3454,"children":3455},{"style":222},[3456],{"type":27,"value":3457},"\"city\"",{"type":21,"tag":72,"props":3459,"children":3460},{"style":79},[3461],{"type":27,"value":93},{"type":21,"tag":72,"props":3463,"children":3464},{"style":555},[3465],{"type":27,"value":3466},"\"上海\"",{"type":21,"tag":72,"props":3468,"children":3469},{"style":79},[3470],{"type":27,"value":2861},{"type":21,"tag":35,"props":3472,"children":3473},{"id":106},[3474],{"type":27,"value":106},{"type":21,"tag":110,"props":3476,"children":3477},{},[3478,3485],{"type":21,"tag":114,"props":3479,"children":3480},{},[3481],{"type":21,"tag":118,"props":3482,"children":3483},{"href":928},[3484],{"type":27,"value":928},{"type":21,"tag":114,"props":3486,"children":3487},{},[3488],{"type":21,"tag":118,"props":3489,"children":3490},{"href":128},[3491],{"type":27,"value":128},{"type":21,"tag":35,"props":3493,"children":3494},{"id":133},[3495],{"type":27,"value":133},{"type":21,"tag":29,"props":3497,"children":3498},{},[3499],{"type":27,"value":3500},"JSON 对象是无序键值对集合，用花括号包裹，键必须是字符串，值可为任意类型。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":3502,"children":3503},{},[3504],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":3506},[3507,3508,3509,3510,3511],{"id":3383,"depth":148,"text":3383},{"id":3393,"depth":148,"text":3393},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-object.md","blog/json-object.md","blog/json-object",{"_path":3516,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":3517,"description":3518,"date":11,"category":12,"keywords":3519,"body":3523,"_type":155,"_id":3646,"_source":157,"_file":3647,"_stem":3648,"_extension":160},"/blog/json-parse-error","JSON 解析错误排查指南","JSON.parse 报错时如何定位：看错误位置、检查行列、用校验工具。",[3520,3521,3522],"json解析错误","json parse error","unexpected token",{"type":18,"children":3524,"toc":3639},[3525,3530,3535,3540,3545,3550,3555,3559,3605,3609,3626,3630,3635],{"type":21,"tag":22,"props":3526,"children":3528},{"id":3527},"json-解析错误排查指南",[3529],{"type":27,"value":3517},{"type":21,"tag":29,"props":3531,"children":3532},{},[3533],{"type":27,"value":3534},"JSON.parse 抛错时需快速定位，本文给出排查步骤。",{"type":21,"tag":35,"props":3536,"children":3538},{"id":3537},"定位步骤",[3539],{"type":27,"value":3537},{"type":21,"tag":29,"props":3541,"children":3542},{},[3543],{"type":27,"value":3544},"看错误信息中的位置、用校验工具标红行列、检查该处字符与上下文。",{"type":21,"tag":35,"props":3546,"children":3548},{"id":3547},"常见原因",[3549],{"type":27,"value":3547},{"type":21,"tag":29,"props":3551,"children":3552},{},[3553],{"type":27,"value":3554},"非法字符、未转义引号、括号不匹配、混入 BOM 或非 JSON 内容。",{"type":21,"tag":35,"props":3556,"children":3557},{"id":57},[3558],{"type":27,"value":57},{"type":21,"tag":61,"props":3560,"children":3562},{"className":63,"code":3561,"language":65,"meta":8,"style":8},"{\"a\": 1, \"b\": 2,}\n",[3563],{"type":21,"tag":68,"props":3564,"children":3565},{"__ignoreMap":8},[3566],{"type":21,"tag":72,"props":3567,"children":3568},{"class":74,"line":75},[3569,3573,3577,3581,3585,3589,3593,3597,3601],{"type":21,"tag":72,"props":3570,"children":3571},{"style":79},[3572],{"type":27,"value":82},{"type":21,"tag":72,"props":3574,"children":3575},{"style":222},[3576],{"type":27,"value":225},{"type":21,"tag":72,"props":3578,"children":3579},{"style":79},[3580],{"type":27,"value":93},{"type":21,"tag":72,"props":3582,"children":3583},{"style":222},[3584],{"type":27,"value":235},{"type":21,"tag":72,"props":3586,"children":3587},{"style":79},[3588],{"type":27,"value":690},{"type":21,"tag":72,"props":3590,"children":3591},{"style":222},[3592],{"type":27,"value":245},{"type":21,"tag":72,"props":3594,"children":3595},{"style":79},[3596],{"type":27,"value":93},{"type":21,"tag":72,"props":3598,"children":3599},{"style":222},[3600],{"type":27,"value":264},{"type":21,"tag":72,"props":3602,"children":3603},{"style":79},[3604],{"type":27,"value":103},{"type":21,"tag":35,"props":3606,"children":3607},{"id":106},[3608],{"type":27,"value":106},{"type":21,"tag":110,"props":3610,"children":3611},{},[3612,3619],{"type":21,"tag":114,"props":3613,"children":3614},{},[3615],{"type":21,"tag":118,"props":3616,"children":3617},{"href":120},[3618],{"type":27,"value":120},{"type":21,"tag":114,"props":3620,"children":3621},{},[3622],{"type":21,"tag":118,"props":3623,"children":3624},{"href":128},[3625],{"type":27,"value":128},{"type":21,"tag":35,"props":3627,"children":3628},{"id":133},[3629],{"type":27,"value":133},{"type":21,"tag":29,"props":3631,"children":3632},{},[3633],{"type":27,"value":3634},"JSON.parse 报错时如何定位：看错误位置、检查行列、用校验工具。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":3636,"children":3637},{},[3638],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":3640},[3641,3642,3643,3644,3645],{"id":3537,"depth":148,"text":3537},{"id":3547,"depth":148,"text":3547},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-parse-error.md","blog/json-parse-error.md","blog/json-parse-error",{"_path":3650,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":3651,"description":3652,"date":11,"category":607,"keywords":3653,"body":3657,"_type":155,"_id":3803,"_source":157,"_file":3804,"_stem":3805,"_extension":160},"/blog/json-patch","JSON Patch 操作详解","JSON Patch (RFC 6902) 用一组操作描述 JSON 变更，支持 add/remove/replace/move/copy/test。",[3654,3655,3656],"json patch","rfc 6902","json变更",{"type":18,"children":3658,"toc":3796},[3659,3664,3669,3674,3679,3683,3688,3692,3762,3766,3783,3787,3792],{"type":21,"tag":22,"props":3660,"children":3662},{"id":3661},"json-patch-操作详解",[3663],{"type":27,"value":3651},{"type":21,"tag":29,"props":3665,"children":3666},{},[3667],{"type":27,"value":3668},"JSON Patch 是 RFC 6902 定义的用操作数组描述 JSON 变更的格式，常用于增量更新与协同。",{"type":21,"tag":35,"props":3670,"children":3672},{"id":3671},"操作类型",[3673],{"type":27,"value":3671},{"type":21,"tag":29,"props":3675,"children":3676},{},[3677],{"type":27,"value":3678},"add 添加、remove 删除、replace 替换、move 移动、copy 复制、test 测试。",{"type":21,"tag":35,"props":3680,"children":3681},{"id":815},[3682],{"type":27,"value":815},{"type":21,"tag":29,"props":3684,"children":3685},{},[3686],{"type":27,"value":3687},"API 增量更新、协同编辑、版本差异表达。",{"type":21,"tag":35,"props":3689,"children":3690},{"id":57},[3691],{"type":27,"value":57},{"type":21,"tag":61,"props":3693,"children":3695},{"className":63,"code":3694,"language":65,"meta":8,"style":8},"[{\"op\":\"replace\",\"path\":\"/name\",\"value\":\"新值\"}]\n",[3696],{"type":21,"tag":68,"props":3697,"children":3698},{"__ignoreMap":8},[3699],{"type":21,"tag":72,"props":3700,"children":3701},{"class":74,"line":75},[3702,3707,3712,3716,3721,3725,3730,3734,3739,3743,3748,3752,3757],{"type":21,"tag":72,"props":3703,"children":3704},{"style":79},[3705],{"type":27,"value":3706},"[{",{"type":21,"tag":72,"props":3708,"children":3709},{"style":222},[3710],{"type":27,"value":3711},"\"op\"",{"type":21,"tag":72,"props":3713,"children":3714},{"style":79},[3715],{"type":27,"value":230},{"type":21,"tag":72,"props":3717,"children":3718},{"style":555},[3719],{"type":27,"value":3720},"\"replace\"",{"type":21,"tag":72,"props":3722,"children":3723},{"style":79},[3724],{"type":27,"value":240},{"type":21,"tag":72,"props":3726,"children":3727},{"style":222},[3728],{"type":27,"value":3729},"\"path\"",{"type":21,"tag":72,"props":3731,"children":3732},{"style":79},[3733],{"type":27,"value":230},{"type":21,"tag":72,"props":3735,"children":3736},{"style":555},[3737],{"type":27,"value":3738},"\"/name\"",{"type":21,"tag":72,"props":3740,"children":3741},{"style":79},[3742],{"type":27,"value":240},{"type":21,"tag":72,"props":3744,"children":3745},{"style":222},[3746],{"type":27,"value":3747},"\"value\"",{"type":21,"tag":72,"props":3749,"children":3750},{"style":79},[3751],{"type":27,"value":230},{"type":21,"tag":72,"props":3753,"children":3754},{"style":555},[3755],{"type":27,"value":3756},"\"新值\"",{"type":21,"tag":72,"props":3758,"children":3759},{"style":79},[3760],{"type":27,"value":3761},"}]\n",{"type":21,"tag":35,"props":3763,"children":3764},{"id":106},[3765],{"type":27,"value":106},{"type":21,"tag":110,"props":3767,"children":3768},{},[3769,3776],{"type":21,"tag":114,"props":3770,"children":3771},{},[3772],{"type":21,"tag":118,"props":3773,"children":3774},{"href":1819},[3775],{"type":27,"value":1819},{"type":21,"tag":114,"props":3777,"children":3778},{},[3779],{"type":21,"tag":118,"props":3780,"children":3781},{"href":128},[3782],{"type":27,"value":128},{"type":21,"tag":35,"props":3784,"children":3785},{"id":133},[3786],{"type":27,"value":133},{"type":21,"tag":29,"props":3788,"children":3789},{},[3790],{"type":27,"value":3791},"JSON Patch (RFC 6902) 用一组操作描述 JSON 变更，支持 add/remove/replace/move/copy/test。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":3793,"children":3794},{},[3795],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":3797},[3798,3799,3800,3801,3802],{"id":3671,"depth":148,"text":3671},{"id":815,"depth":148,"text":815},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-patch.md","blog/json-patch.md","blog/json-patch",{"_path":3807,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":3808,"description":3809,"date":11,"category":607,"keywords":3810,"body":3814,"_type":155,"_id":3923,"_source":157,"_file":3924,"_stem":3925,"_extension":160},"/blog/json-performance","JSON 性能优化技巧","大 JSON 解析与传输优化：压缩、流式解析、字段裁剪、二进制替代方案。",[3811,3812,3813],"json性能","json优化","大json",{"type":18,"children":3815,"toc":3916},[3816,3821,3826,3831,3836,3841,3846,3850,3882,3886,3903,3907,3912],{"type":21,"tag":22,"props":3817,"children":3819},{"id":3818},"json-性能优化技巧",[3820],{"type":27,"value":3808},{"type":21,"tag":29,"props":3822,"children":3823},{},[3824],{"type":27,"value":3825},"大 JSON 的解析与传输可能成为性能瓶颈，可通过多种手段优化。",{"type":21,"tag":35,"props":3827,"children":3829},{"id":3828},"优化手段",[3830],{"type":27,"value":3828},{"type":21,"tag":29,"props":3832,"children":3833},{},[3834],{"type":27,"value":3835},"传输前 minify、gzip 压缩、流式解析（SAX）、按需裁剪字段、考虑 Protobuf/MessagePack。",{"type":21,"tag":35,"props":3837,"children":3839},{"id":3838},"解析优化",[3840],{"type":27,"value":3838},{"type":21,"tag":29,"props":3842,"children":3843},{},[3844],{"type":27,"value":3845},"选用高性能库（如 simdjson）、Web Worker 避免阻塞主线程。",{"type":21,"tag":35,"props":3847,"children":3848},{"id":57},[3849],{"type":27,"value":57},{"type":21,"tag":61,"props":3851,"children":3853},{"className":63,"code":3852,"language":65,"meta":8,"style":8},"{\"big\": \"data...\"}\n",[3854],{"type":21,"tag":68,"props":3855,"children":3856},{"__ignoreMap":8},[3857],{"type":21,"tag":72,"props":3858,"children":3859},{"class":74,"line":75},[3860,3864,3869,3873,3878],{"type":21,"tag":72,"props":3861,"children":3862},{"style":79},[3863],{"type":27,"value":82},{"type":21,"tag":72,"props":3865,"children":3866},{"style":222},[3867],{"type":27,"value":3868},"\"big\"",{"type":21,"tag":72,"props":3870,"children":3871},{"style":79},[3872],{"type":27,"value":93},{"type":21,"tag":72,"props":3874,"children":3875},{"style":555},[3876],{"type":27,"value":3877},"\"data...\"",{"type":21,"tag":72,"props":3879,"children":3880},{"style":79},[3881],{"type":27,"value":1069},{"type":21,"tag":35,"props":3883,"children":3884},{"id":106},[3885],{"type":27,"value":106},{"type":21,"tag":110,"props":3887,"children":3888},{},[3889,3896],{"type":21,"tag":114,"props":3890,"children":3891},{},[3892],{"type":21,"tag":118,"props":3893,"children":3894},{"href":289},[3895],{"type":27,"value":289},{"type":21,"tag":114,"props":3897,"children":3898},{},[3899],{"type":21,"tag":118,"props":3900,"children":3901},{"href":1419},[3902],{"type":27,"value":1419},{"type":21,"tag":35,"props":3904,"children":3905},{"id":133},[3906],{"type":27,"value":133},{"type":21,"tag":29,"props":3908,"children":3909},{},[3910],{"type":27,"value":3911},"大 JSON 解析与传输优化：压缩、流式解析、字段裁剪、二进制替代方案。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":3913,"children":3914},{},[3915],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":3917},[3918,3919,3920,3921,3922],{"id":3828,"depth":148,"text":3828},{"id":3838,"depth":148,"text":3838},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-performance.md","blog/json-performance.md","blog/json-performance",{"_path":3927,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":3928,"description":3929,"date":11,"category":607,"keywords":3930,"body":3934,"_type":155,"_id":4027,"_source":157,"_file":4028,"_stem":4029,"_extension":160},"/blog/json-pointer","JSON Pointer 详解","JSON Pointer (RFC 6901) 用斜杠路径定位 JSON 节点，如 /a/b/0。",[3931,3932,3933],"json pointer","rfc 6901","json路径",{"type":18,"children":3935,"toc":4020},[3936,3941,3946,3951,3956,3962,3967,3971,3985,3989,4007,4011,4016],{"type":21,"tag":22,"props":3937,"children":3939},{"id":3938},"json-pointer-详解",[3940],{"type":27,"value":3928},{"type":21,"tag":29,"props":3942,"children":3943},{},[3944],{"type":27,"value":3945},"JSON Pointer 是 RFC 6901 定义的用斜杠分隔路径定位 JSON 节点的语法，是 JSON Patch 的基础。",{"type":21,"tag":35,"props":3947,"children":3949},{"id":3948},"语法",[3950],{"type":27,"value":3948},{"type":21,"tag":29,"props":3952,"children":3953},{},[3954],{"type":27,"value":3955},"以 / 开头，每段为键名或数组索引，如 /user/name、/list/0。特殊字符需转义。",{"type":21,"tag":35,"props":3957,"children":3959},{"id":3958},"与-jsonpath-区别",[3960],{"type":27,"value":3961},"与 JSONPath 区别",{"type":21,"tag":29,"props":3963,"children":3964},{},[3965],{"type":27,"value":3966},"JSON Pointer 更简单，仅定位单一节点；JSONPath 支持通配与过滤，可返回多节点。",{"type":21,"tag":35,"props":3968,"children":3969},{"id":57},[3970],{"type":27,"value":57},{"type":21,"tag":61,"props":3972,"children":3974},{"className":63,"code":3973,"language":65,"meta":8,"style":8},"/user/address/city\n",[3975],{"type":21,"tag":68,"props":3976,"children":3977},{"__ignoreMap":8},[3978],{"type":21,"tag":72,"props":3979,"children":3980},{"class":74,"line":75},[3981],{"type":21,"tag":72,"props":3982,"children":3983},{"style":79},[3984],{"type":27,"value":3973},{"type":21,"tag":35,"props":3986,"children":3987},{"id":106},[3988],{"type":27,"value":106},{"type":21,"tag":110,"props":3990,"children":3991},{},[3992,4000],{"type":21,"tag":114,"props":3993,"children":3994},{},[3995],{"type":21,"tag":118,"props":3996,"children":3998},{"href":3997},"/jsonpath",[3999],{"type":27,"value":3997},{"type":21,"tag":114,"props":4001,"children":4002},{},[4003],{"type":21,"tag":118,"props":4004,"children":4005},{"href":928},[4006],{"type":27,"value":928},{"type":21,"tag":35,"props":4008,"children":4009},{"id":133},[4010],{"type":27,"value":133},{"type":21,"tag":29,"props":4012,"children":4013},{},[4014],{"type":27,"value":4015},"JSON Pointer (RFC 6901) 用斜杠路径定位 JSON 节点，如 /a/b/0。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":4017,"children":4018},{},[4019],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":4021},[4022,4023,4024,4025,4026],{"id":3948,"depth":148,"text":3948},{"id":3958,"depth":148,"text":3961},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-pointer.md","blog/json-pointer.md","blog/json-pointer",{"_path":4031,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":4032,"description":4033,"date":11,"category":607,"keywords":4034,"body":4038,"_type":155,"_id":4197,"_source":157,"_file":4198,"_stem":4199,"_extension":160},"/blog/json-rpc","JSON-RPC 协议详解","JSON-RPC 是基于 JSON 的远程过程调用协议，轻量、无状态，支持 HTTP 与 WebSocket。",[4035,4036,4037],"json-rpc","json rpc","远程调用",{"type":18,"children":4039,"toc":4190},[4040,4045,4050,4055,4060,4064,4069,4073,4156,4160,4177,4181,4186],{"type":21,"tag":22,"props":4041,"children":4043},{"id":4042},"json-rpc-协议详解",[4044],{"type":27,"value":4032},{"type":21,"tag":29,"props":4046,"children":4047},{},[4048],{"type":27,"value":4049},"JSON-RPC 是一种基于 JSON 的轻量级远程过程调用协议，用 JSON 描述请求与响应。",{"type":21,"tag":35,"props":4051,"children":4053},{"id":4052},"消息结构",[4054],{"type":27,"value":4052},{"type":21,"tag":29,"props":4056,"children":4057},{},[4058],{"type":27,"value":4059},"请求含 jsonrpc、method、params、id；响应含 result 或 error 与对应 id。",{"type":21,"tag":35,"props":4061,"children":4062},{"id":815},[4063],{"type":27,"value":815},{"type":21,"tag":29,"props":4065,"children":4066},{},[4067],{"type":27,"value":4068},"区块链节点交互、内部微服务通信、WebSocket 接口。",{"type":21,"tag":35,"props":4070,"children":4071},{"id":57},[4072],{"type":27,"value":57},{"type":21,"tag":61,"props":4074,"children":4076},{"className":63,"code":4075,"language":65,"meta":8,"style":8},"{\"jsonrpc\":\"2.0\",\"method\":\"getUser\",\"params\":[1],\"id\":1}\n",[4077],{"type":21,"tag":68,"props":4078,"children":4079},{"__ignoreMap":8},[4080],{"type":21,"tag":72,"props":4081,"children":4082},{"class":74,"line":75},[4083,4087,4092,4096,4101,4105,4110,4114,4119,4123,4128,4132,4136,4140,4144,4148,4152],{"type":21,"tag":72,"props":4084,"children":4085},{"style":79},[4086],{"type":27,"value":82},{"type":21,"tag":72,"props":4088,"children":4089},{"style":222},[4090],{"type":27,"value":4091},"\"jsonrpc\"",{"type":21,"tag":72,"props":4093,"children":4094},{"style":79},[4095],{"type":27,"value":230},{"type":21,"tag":72,"props":4097,"children":4098},{"style":555},[4099],{"type":27,"value":4100},"\"2.0\"",{"type":21,"tag":72,"props":4102,"children":4103},{"style":79},[4104],{"type":27,"value":240},{"type":21,"tag":72,"props":4106,"children":4107},{"style":222},[4108],{"type":27,"value":4109},"\"method\"",{"type":21,"tag":72,"props":4111,"children":4112},{"style":79},[4113],{"type":27,"value":230},{"type":21,"tag":72,"props":4115,"children":4116},{"style":555},[4117],{"type":27,"value":4118},"\"getUser\"",{"type":21,"tag":72,"props":4120,"children":4121},{"style":79},[4122],{"type":27,"value":240},{"type":21,"tag":72,"props":4124,"children":4125},{"style":222},[4126],{"type":27,"value":4127},"\"params\"",{"type":21,"tag":72,"props":4129,"children":4130},{"style":79},[4131],{"type":27,"value":397},{"type":21,"tag":72,"props":4133,"children":4134},{"style":222},[4135],{"type":27,"value":235},{"type":21,"tag":72,"props":4137,"children":4138},{"style":79},[4139],{"type":27,"value":415},{"type":21,"tag":72,"props":4141,"children":4142},{"style":222},[4143],{"type":27,"value":695},{"type":21,"tag":72,"props":4145,"children":4146},{"style":79},[4147],{"type":27,"value":230},{"type":21,"tag":72,"props":4149,"children":4150},{"style":222},[4151],{"type":27,"value":235},{"type":21,"tag":72,"props":4153,"children":4154},{"style":79},[4155],{"type":27,"value":1069},{"type":21,"tag":35,"props":4157,"children":4158},{"id":106},[4159],{"type":27,"value":106},{"type":21,"tag":110,"props":4161,"children":4162},{},[4163,4170],{"type":21,"tag":114,"props":4164,"children":4165},{},[4166],{"type":21,"tag":118,"props":4167,"children":4168},{"href":128},[4169],{"type":27,"value":128},{"type":21,"tag":114,"props":4171,"children":4172},{},[4173],{"type":21,"tag":118,"props":4174,"children":4175},{"href":120},[4176],{"type":27,"value":120},{"type":21,"tag":35,"props":4178,"children":4179},{"id":133},[4180],{"type":27,"value":133},{"type":21,"tag":29,"props":4182,"children":4183},{},[4184],{"type":27,"value":4185},"JSON-RPC 是基于 JSON 的远程过程调用协议，轻量、无状态，支持 HTTP 与 WebSocket。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":4187,"children":4188},{},[4189],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":4191},[4192,4193,4194,4195,4196],{"id":4052,"depth":148,"text":4052},{"id":815,"depth":148,"text":815},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-rpc.md","blog/json-rpc.md","blog/json-rpc",{"_path":4201,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":4202,"description":4203,"date":11,"category":165,"keywords":4204,"body":4207,"_type":155,"_id":4349,"_source":157,"_file":4350,"_stem":4351,"_extension":160},"/blog/json-schema-guide","JSON Schema 入门指南","JSON Schema 是描述 JSON 结构的规范，用于验证数据是否符合预期格式。",[4205,4206,492],"json schema","json schema生成",{"type":18,"children":4208,"toc":4342},[4209,4214,4219,4224,4229,4233,4238,4242,4307,4311,4329,4333,4338],{"type":21,"tag":22,"props":4210,"children":4212},{"id":4211},"json-schema-入门指南",[4213],{"type":27,"value":4202},{"type":21,"tag":29,"props":4215,"children":4216},{},[4217],{"type":27,"value":4218},"JSON Schema 是一种用 JSON 描述 JSON 结构的规范，可校验数据是否符合预期的类型、格式、约束。",{"type":21,"tag":35,"props":4220,"children":4222},{"id":4221},"核心概念",[4223],{"type":27,"value":4221},{"type":21,"tag":29,"props":4225,"children":4226},{},[4227],{"type":27,"value":4228},"type 指定类型、properties 定义对象属性、items 定义数组元素、required 必填字段。",{"type":21,"tag":35,"props":4230,"children":4231},{"id":815},[4232],{"type":27,"value":815},{"type":21,"tag":29,"props":4234,"children":4235},{},[4236],{"type":27,"value":4237},"API 请求响应校验、配置文件验证、数据契约定义。",{"type":21,"tag":35,"props":4239,"children":4240},{"id":57},[4241],{"type":27,"value":57},{"type":21,"tag":61,"props":4243,"children":4245},{"className":63,"code":4244,"language":65,"meta":8,"style":8},"{\"type\": \"object\", \"properties\": {\"name\": {\"type\": \"string\"}}}\n",[4246],{"type":21,"tag":68,"props":4247,"children":4248},{"__ignoreMap":8},[4249],{"type":21,"tag":72,"props":4250,"children":4251},{"class":74,"line":75},[4252,4256,4260,4264,4269,4273,4278,4282,4286,4290,4294,4298,4303],{"type":21,"tag":72,"props":4253,"children":4254},{"style":79},[4255],{"type":27,"value":82},{"type":21,"tag":72,"props":4257,"children":4258},{"style":222},[4259],{"type":27,"value":676},{"type":21,"tag":72,"props":4261,"children":4262},{"style":79},[4263],{"type":27,"value":93},{"type":21,"tag":72,"props":4265,"children":4266},{"style":555},[4267],{"type":27,"value":4268},"\"object\"",{"type":21,"tag":72,"props":4270,"children":4271},{"style":79},[4272],{"type":27,"value":690},{"type":21,"tag":72,"props":4274,"children":4275},{"style":222},[4276],{"type":27,"value":4277},"\"properties\"",{"type":21,"tag":72,"props":4279,"children":4280},{"style":79},[4281],{"type":27,"value":718},{"type":21,"tag":72,"props":4283,"children":4284},{"style":222},[4285],{"type":27,"value":723},{"type":21,"tag":72,"props":4287,"children":4288},{"style":79},[4289],{"type":27,"value":718},{"type":21,"tag":72,"props":4291,"children":4292},{"style":222},[4293],{"type":27,"value":676},{"type":21,"tag":72,"props":4295,"children":4296},{"style":79},[4297],{"type":27,"value":93},{"type":21,"tag":72,"props":4299,"children":4300},{"style":555},[4301],{"type":27,"value":4302},"\"string\"",{"type":21,"tag":72,"props":4304,"children":4305},{"style":79},[4306],{"type":27,"value":2861},{"type":21,"tag":35,"props":4308,"children":4309},{"id":106},[4310],{"type":27,"value":106},{"type":21,"tag":110,"props":4312,"children":4313},{},[4314,4322],{"type":21,"tag":114,"props":4315,"children":4316},{},[4317],{"type":21,"tag":118,"props":4318,"children":4320},{"href":4319},"/schema",[4321],{"type":27,"value":4319},{"type":21,"tag":114,"props":4323,"children":4324},{},[4325],{"type":21,"tag":118,"props":4326,"children":4327},{"href":120},[4328],{"type":27,"value":120},{"type":21,"tag":35,"props":4330,"children":4331},{"id":133},[4332],{"type":27,"value":133},{"type":21,"tag":29,"props":4334,"children":4335},{},[4336],{"type":27,"value":4337},"JSON Schema 是描述 JSON 结构的规范，用于验证数据是否符合预期格式。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":4339,"children":4340},{},[4341],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":4343},[4344,4345,4346,4347,4348],{"id":4221,"depth":148,"text":4221},{"id":815,"depth":148,"text":815},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-schema-guide.md","blog/json-schema-guide.md","blog/json-schema-guide",{"_path":4353,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":4354,"description":4355,"date":11,"category":607,"keywords":4356,"body":4360,"_type":155,"_id":4485,"_source":157,"_file":4486,"_stem":4487,"_extension":160},"/blog/json-security","JSON 安全注意事项","JSON 处理需防注入、原型链污染、XSS、敏感信息泄露，本文列举安全要点。",[4357,4358,4359],"json安全","json注入","原型链污染",{"type":18,"children":4361,"toc":4478},[4362,4367,4372,4377,4390,4395,4400,4404,4444,4448,4465,4469,4474],{"type":21,"tag":22,"props":4363,"children":4365},{"id":4364},"json-安全注意事项",[4366],{"type":27,"value":4354},{"type":21,"tag":29,"props":4368,"children":4369},{},[4370],{"type":27,"value":4371},"处理不可信 JSON 时需注意多种安全风险，避免注入与信息泄露。",{"type":21,"tag":35,"props":4373,"children":4375},{"id":4374},"风险点",[4376],{"type":27,"value":4374},{"type":21,"tag":29,"props":4378,"children":4379},{},[4380,4382,4388],{"type":27,"value":4381},"原型链污染（",{"type":21,"tag":4383,"props":4384,"children":4385},"strong",{},[4386],{"type":27,"value":4387},"proto",{"type":27,"value":4389},"）、JSONP XSS、eval 解析注入、敏感字段泄露、大数 DoS。",{"type":21,"tag":35,"props":4391,"children":4393},{"id":4392},"防护",[4394],{"type":27,"value":4392},{"type":21,"tag":29,"props":4396,"children":4397},{},[4398],{"type":27,"value":4399},"用 JSON.parse 而非 eval、过滤危险键、限制大小、脱敏敏感数据。",{"type":21,"tag":35,"props":4401,"children":4402},{"id":57},[4403],{"type":27,"value":57},{"type":21,"tag":61,"props":4405,"children":4407},{"className":63,"code":4406,"language":65,"meta":8,"style":8},"{\"__proto__\": {\"polluted\": true}}\n",[4408],{"type":21,"tag":68,"props":4409,"children":4410},{"__ignoreMap":8},[4411],{"type":21,"tag":72,"props":4412,"children":4413},{"class":74,"line":75},[4414,4418,4423,4427,4432,4436,4440],{"type":21,"tag":72,"props":4415,"children":4416},{"style":79},[4417],{"type":27,"value":82},{"type":21,"tag":72,"props":4419,"children":4420},{"style":222},[4421],{"type":27,"value":4422},"\"__proto__\"",{"type":21,"tag":72,"props":4424,"children":4425},{"style":79},[4426],{"type":27,"value":718},{"type":21,"tag":72,"props":4428,"children":4429},{"style":222},[4430],{"type":27,"value":4431},"\"polluted\"",{"type":21,"tag":72,"props":4433,"children":4434},{"style":79},[4435],{"type":27,"value":93},{"type":21,"tag":72,"props":4437,"children":4438},{"style":222},[4439],{"type":27,"value":863},{"type":21,"tag":72,"props":4441,"children":4442},{"style":79},[4443],{"type":27,"value":269},{"type":21,"tag":35,"props":4445,"children":4446},{"id":106},[4447],{"type":27,"value":106},{"type":21,"tag":110,"props":4449,"children":4450},{},[4451,4458],{"type":21,"tag":114,"props":4452,"children":4453},{},[4454],{"type":21,"tag":118,"props":4455,"children":4456},{"href":120},[4457],{"type":27,"value":120},{"type":21,"tag":114,"props":4459,"children":4460},{},[4461],{"type":21,"tag":118,"props":4462,"children":4463},{"href":128},[4464],{"type":27,"value":128},{"type":21,"tag":35,"props":4466,"children":4467},{"id":133},[4468],{"type":27,"value":133},{"type":21,"tag":29,"props":4470,"children":4471},{},[4472],{"type":27,"value":4473},"JSON 处理需防注入、原型链污染、XSS、敏感信息泄露，本文列举安全要点。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":4475,"children":4476},{},[4477],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":4479},[4480,4481,4482,4483,4484],{"id":4374,"depth":148,"text":4374},{"id":4392,"depth":148,"text":4392},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-security.md","blog/json-security.md","blog/json-security",{"_path":4489,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":4490,"description":4491,"date":11,"category":607,"keywords":4492,"body":4496,"_type":155,"_id":4630,"_source":157,"_file":4631,"_stem":4632,"_extension":160},"/blog/json-serialization","JSON 序列化原理与库","JSON 序列化将对象转为 JSON 字符串，各语言有成熟库，本文介绍原理与选型。",[4493,4494,4495],"json序列化","json stringify","序列化库",{"type":18,"children":4497,"toc":4623},[4498,4503,4508,4513,4518,4523,4528,4532,4589,4593,4610,4614,4619],{"type":21,"tag":22,"props":4499,"children":4501},{"id":4500},"json-序列化原理与库",[4502],{"type":27,"value":4490},{"type":21,"tag":29,"props":4504,"children":4505},{},[4506],{"type":27,"value":4507},"JSON 序列化指将内存对象转为 JSON 字符串，反序列化则相反，各语言均有成熟库支持。",{"type":21,"tag":35,"props":4509,"children":4511},{"id":4510},"主流库",[4512],{"type":27,"value":4510},{"type":21,"tag":29,"props":4514,"children":4515},{},[4516],{"type":27,"value":4517},"JavaScript 内置 JSON、Java 用 Jackson/Gson、Python 用 json、Go 用 encoding/json。",{"type":21,"tag":35,"props":4519,"children":4521},{"id":4520},"注意点",[4522],{"type":27,"value":4520},{"type":21,"tag":29,"props":4524,"children":4525},{},[4526],{"type":27,"value":4527},"循环引用、大整数精度丢失、日期格式、Unicode 转义需特别处理。",{"type":21,"tag":35,"props":4529,"children":4530},{"id":57},[4531],{"type":27,"value":57},{"type":21,"tag":61,"props":4533,"children":4535},{"className":63,"code":4534,"language":65,"meta":8,"style":8},"JSON.stringify({a:1, b:[2,3]})\n",[4536],{"type":21,"tag":68,"props":4537,"children":4538},{"__ignoreMap":8},[4539],{"type":21,"tag":72,"props":4540,"children":4541},{"class":74,"line":75},[4542,4547,4551,4555,4559,4563,4568,4572,4576,4580,4584],{"type":21,"tag":72,"props":4543,"children":4544},{"style":79},[4545],{"type":27,"value":4546},"JSON.stringify({",{"type":21,"tag":72,"props":4548,"children":4549},{"style":85},[4550],{"type":27,"value":118},{"type":21,"tag":72,"props":4552,"children":4553},{"style":79},[4554],{"type":27,"value":230},{"type":21,"tag":72,"props":4556,"children":4557},{"style":222},[4558],{"type":27,"value":235},{"type":21,"tag":72,"props":4560,"children":4561},{"style":79},[4562],{"type":27,"value":690},{"type":21,"tag":72,"props":4564,"children":4565},{"style":85},[4566],{"type":27,"value":4567},"b",{"type":21,"tag":72,"props":4569,"children":4570},{"style":79},[4571],{"type":27,"value":397},{"type":21,"tag":72,"props":4573,"children":4574},{"style":222},[4575],{"type":27,"value":264},{"type":21,"tag":72,"props":4577,"children":4578},{"style":79},[4579],{"type":27,"value":240},{"type":21,"tag":72,"props":4581,"children":4582},{"style":222},[4583],{"type":27,"value":410},{"type":21,"tag":72,"props":4585,"children":4586},{"style":79},[4587],{"type":27,"value":4588},"]})\n",{"type":21,"tag":35,"props":4590,"children":4591},{"id":106},[4592],{"type":27,"value":106},{"type":21,"tag":110,"props":4594,"children":4595},{},[4596,4603],{"type":21,"tag":114,"props":4597,"children":4598},{},[4599],{"type":21,"tag":118,"props":4600,"children":4601},{"href":128},[4602],{"type":27,"value":128},{"type":21,"tag":114,"props":4604,"children":4605},{},[4606],{"type":21,"tag":118,"props":4607,"children":4608},{"href":289},[4609],{"type":27,"value":289},{"type":21,"tag":35,"props":4611,"children":4612},{"id":133},[4613],{"type":27,"value":133},{"type":21,"tag":29,"props":4615,"children":4616},{},[4617],{"type":27,"value":4618},"JSON 序列化将对象转为 JSON 字符串，各语言有成熟库，本文介绍原理与选型。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":4620,"children":4621},{},[4622],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":4624},[4625,4626,4627,4628,4629],{"id":4510,"depth":148,"text":4510},{"id":4520,"depth":148,"text":4520},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-serialization.md","blog/json-serialization.md","blog/json-serialization",{"_path":4634,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":4635,"description":4636,"date":11,"category":607,"keywords":4637,"body":4641,"_type":155,"_id":4795,"_source":157,"_file":4796,"_stem":4797,"_extension":160},"/blog/json-streaming","JSON 流式处理","流式 JSON 解析（NDJSON、SAX）适合大文件与实时数据，避免一次性加载。",[4638,4639,4640],"json流式","ndjson","jsonl",{"type":18,"children":4642,"toc":4788},[4643,4648,4653,4658,4663,4669,4674,4678,4754,4758,4775,4779,4784],{"type":21,"tag":22,"props":4644,"children":4646},{"id":4645},"json-流式处理",[4647],{"type":27,"value":4635},{"type":21,"tag":29,"props":4649,"children":4650},{},[4651],{"type":27,"value":4652},"流式 JSON 处理适合大文件与实时数据流，避免一次性加载到内存。",{"type":21,"tag":35,"props":4654,"children":4655},{"id":4639},[4656],{"type":27,"value":4657},"NDJSON",{"type":21,"tag":29,"props":4659,"children":4660},{},[4661],{"type":27,"value":4662},"每行一个独立 JSON 对象（JSON Lines），可逐行解析，适合日志与流数据。",{"type":21,"tag":35,"props":4664,"children":4666},{"id":4665},"sax-解析",[4667],{"type":27,"value":4668},"SAX 解析",{"type":21,"tag":29,"props":4670,"children":4671},{},[4672],{"type":27,"value":4673},"事件驱动解析，边读边处理，内存占用恒定，适合超大 JSON。",{"type":21,"tag":35,"props":4675,"children":4676},{"id":57},[4677],{"type":27,"value":57},{"type":21,"tag":61,"props":4679,"children":4681},{"className":63,"code":4680,"language":65,"meta":8,"style":8},"{\"id\":1}\n{\"id\":2}\n{\"id\":3}\n",[4682],{"type":21,"tag":68,"props":4683,"children":4684},{"__ignoreMap":8},[4685,4708,4731],{"type":21,"tag":72,"props":4686,"children":4687},{"class":74,"line":75},[4688,4692,4696,4700,4704],{"type":21,"tag":72,"props":4689,"children":4690},{"style":79},[4691],{"type":27,"value":82},{"type":21,"tag":72,"props":4693,"children":4694},{"style":222},[4695],{"type":27,"value":695},{"type":21,"tag":72,"props":4697,"children":4698},{"style":79},[4699],{"type":27,"value":230},{"type":21,"tag":72,"props":4701,"children":4702},{"style":222},[4703],{"type":27,"value":235},{"type":21,"tag":72,"props":4705,"children":4706},{"style":79},[4707],{"type":27,"value":1069},{"type":21,"tag":72,"props":4709,"children":4710},{"class":74,"line":148},[4711,4715,4719,4723,4727],{"type":21,"tag":72,"props":4712,"children":4713},{"style":79},[4714],{"type":27,"value":82},{"type":21,"tag":72,"props":4716,"children":4717},{"style":222},[4718],{"type":27,"value":695},{"type":21,"tag":72,"props":4720,"children":4721},{"style":79},[4722],{"type":27,"value":230},{"type":21,"tag":72,"props":4724,"children":4725},{"style":222},[4726],{"type":27,"value":264},{"type":21,"tag":72,"props":4728,"children":4729},{"style":79},[4730],{"type":27,"value":1069},{"type":21,"tag":72,"props":4732,"children":4733},{"class":74,"line":1036},[4734,4738,4742,4746,4750],{"type":21,"tag":72,"props":4735,"children":4736},{"style":79},[4737],{"type":27,"value":82},{"type":21,"tag":72,"props":4739,"children":4740},{"style":222},[4741],{"type":27,"value":695},{"type":21,"tag":72,"props":4743,"children":4744},{"style":79},[4745],{"type":27,"value":230},{"type":21,"tag":72,"props":4747,"children":4748},{"style":222},[4749],{"type":27,"value":410},{"type":21,"tag":72,"props":4751,"children":4752},{"style":79},[4753],{"type":27,"value":1069},{"type":21,"tag":35,"props":4755,"children":4756},{"id":106},[4757],{"type":27,"value":106},{"type":21,"tag":110,"props":4759,"children":4760},{},[4761,4768],{"type":21,"tag":114,"props":4762,"children":4763},{},[4764],{"type":21,"tag":118,"props":4765,"children":4766},{"href":128},[4767],{"type":27,"value":128},{"type":21,"tag":114,"props":4769,"children":4770},{},[4771],{"type":21,"tag":118,"props":4772,"children":4773},{"href":120},[4774],{"type":27,"value":120},{"type":21,"tag":35,"props":4776,"children":4777},{"id":133},[4778],{"type":27,"value":133},{"type":21,"tag":29,"props":4780,"children":4781},{},[4782],{"type":27,"value":4783},"流式 JSON 解析（NDJSON、SAX）适合大文件与实时数据，避免一次性加载。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":4785,"children":4786},{},[4787],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":4789},[4790,4791,4792,4793,4794],{"id":4639,"depth":148,"text":4657},{"id":4665,"depth":148,"text":4668},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-streaming.md","blog/json-streaming.md","blog/json-streaming",{"_path":4799,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":4800,"description":4801,"date":11,"category":786,"keywords":4802,"body":4806,"_type":155,"_id":4959,"_source":157,"_file":4960,"_stem":4961,"_extension":160},"/blog/json-syntax","JSON 语法详解与规则","JSON 语法规则：键名与字符串必须双引号、逗号分隔、冒号连接、花括号对象、方括号数组、无尾逗号。",[4803,4804,4805],"json语法","json规则","json格式",{"type":18,"children":4807,"toc":4952},[4808,4813,4818,4823,4828,4832,4837,4841,4918,4922,4939,4943,4948],{"type":21,"tag":22,"props":4809,"children":4811},{"id":4810},"json-语法详解与规则",[4812],{"type":27,"value":4800},{"type":21,"tag":29,"props":4814,"children":4815},{},[4816],{"type":27,"value":4817},"JSON 语法非常简洁，但有几条必须严格遵守的规则，违反任何一条都会导致解析失败。",{"type":21,"tag":35,"props":4819,"children":4821},{"id":4820},"基本规则",[4822],{"type":27,"value":4820},{"type":21,"tag":29,"props":4824,"children":4825},{},[4826],{"type":27,"value":4827},"键名与字符串必须用双引号包裹；键值对用冒号分隔；多个元素用逗号分隔；对象用花括号、数组用方括号；最后一个元素后不能有尾逗号。",{"type":21,"tag":35,"props":4829,"children":4830},{"id":508},[4831],{"type":27,"value":508},{"type":21,"tag":29,"props":4833,"children":4834},{},[4835],{"type":27,"value":4836},"使用单引号、键名未加引号、多余逗号、缺少引号是最高频的 JSON 语法错误。",{"type":21,"tag":35,"props":4838,"children":4839},{"id":57},[4840],{"type":27,"value":57},{"type":21,"tag":61,"props":4842,"children":4844},{"className":63,"code":4843,"language":65,"meta":8,"style":8},"{\"name\": \"张三\", \"age\": 28, \"hobbies\": [\"阅读\", \"编程\"]}\n",[4845],{"type":21,"tag":68,"props":4846,"children":4847},{"__ignoreMap":8},[4848],{"type":21,"tag":72,"props":4849,"children":4850},{"class":74,"line":75},[4851,4855,4859,4863,4868,4872,4877,4881,4886,4890,4895,4899,4904,4908,4913],{"type":21,"tag":72,"props":4852,"children":4853},{"style":79},[4854],{"type":27,"value":82},{"type":21,"tag":72,"props":4856,"children":4857},{"style":222},[4858],{"type":27,"value":723},{"type":21,"tag":72,"props":4860,"children":4861},{"style":79},[4862],{"type":27,"value":93},{"type":21,"tag":72,"props":4864,"children":4865},{"style":555},[4866],{"type":27,"value":4867},"\"张三\"",{"type":21,"tag":72,"props":4869,"children":4870},{"style":79},[4871],{"type":27,"value":690},{"type":21,"tag":72,"props":4873,"children":4874},{"style":222},[4875],{"type":27,"value":4876},"\"age\"",{"type":21,"tag":72,"props":4878,"children":4879},{"style":79},[4880],{"type":27,"value":93},{"type":21,"tag":72,"props":4882,"children":4883},{"style":222},[4884],{"type":27,"value":4885},"28",{"type":21,"tag":72,"props":4887,"children":4888},{"style":79},[4889],{"type":27,"value":690},{"type":21,"tag":72,"props":4891,"children":4892},{"style":222},[4893],{"type":27,"value":4894},"\"hobbies\"",{"type":21,"tag":72,"props":4896,"children":4897},{"style":79},[4898],{"type":27,"value":1944},{"type":21,"tag":72,"props":4900,"children":4901},{"style":555},[4902],{"type":27,"value":4903},"\"阅读\"",{"type":21,"tag":72,"props":4905,"children":4906},{"style":79},[4907],{"type":27,"value":690},{"type":21,"tag":72,"props":4909,"children":4910},{"style":555},[4911],{"type":27,"value":4912},"\"编程\"",{"type":21,"tag":72,"props":4914,"children":4915},{"style":79},[4916],{"type":27,"value":4917},"]}\n",{"type":21,"tag":35,"props":4919,"children":4920},{"id":106},[4921],{"type":27,"value":106},{"type":21,"tag":110,"props":4923,"children":4924},{},[4925,4932],{"type":21,"tag":114,"props":4926,"children":4927},{},[4928],{"type":21,"tag":118,"props":4929,"children":4930},{"href":120},[4931],{"type":27,"value":120},{"type":21,"tag":114,"props":4933,"children":4934},{},[4935],{"type":21,"tag":118,"props":4936,"children":4937},{"href":128},[4938],{"type":27,"value":128},{"type":21,"tag":35,"props":4940,"children":4941},{"id":133},[4942],{"type":27,"value":133},{"type":21,"tag":29,"props":4944,"children":4945},{},[4946],{"type":27,"value":4947},"JSON 语法规则：键名与字符串必须双引号、逗号分隔、冒号连接、花括号对象、方括号数组、无尾逗号。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":4949,"children":4950},{},[4951],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":4953},[4954,4955,4956,4957,4958],{"id":4820,"depth":148,"text":4820},{"id":508,"depth":148,"text":508},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-syntax.md","blog/json-syntax.md","blog/json-syntax",{"_path":4963,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":4964,"description":4965,"date":11,"category":965,"keywords":4966,"body":4970,"_type":155,"_id":5103,"_source":157,"_file":5104,"_stem":5105,"_extension":160},"/blog/json-testing","JSON 测试数据与断言","JSON 用于测试夹具与 API 断言，本文介绍组织、Mock 与断言技巧。",[4967,4968,4969],"json测试","测试数据","json断言",{"type":18,"children":4971,"toc":5096},[4972,4977,4982,4987,4992,4997,5002,5006,5062,5066,5083,5087,5092],{"type":21,"tag":22,"props":4973,"children":4975},{"id":4974},"json-测试数据与断言",[4976],{"type":27,"value":4964},{"type":21,"tag":29,"props":4978,"children":4979},{},[4980],{"type":27,"value":4981},"JSON 常用作测试夹具（fixture）与 API 断言数据，便于组织与维护。",{"type":21,"tag":35,"props":4983,"children":4985},{"id":4984},"夹具组织",[4986],{"type":27,"value":4984},{"type":21,"tag":29,"props":4988,"children":4989},{},[4990],{"type":27,"value":4991},"按场景分 JSON 文件，测试时加载作为输入或期望输出。",{"type":21,"tag":35,"props":4993,"children":4995},{"id":4994},"断言",[4996],{"type":27,"value":4994},{"type":21,"tag":29,"props":4998,"children":4999},{},[5000],{"type":27,"value":5001},"用 JSONPath 或深度比较断言响应，忽略可变字段（时间、ID）。",{"type":21,"tag":35,"props":5003,"children":5004},{"id":57},[5005],{"type":27,"value":57},{"type":21,"tag":61,"props":5007,"children":5009},{"className":63,"code":5008,"language":65,"meta":8,"style":8},"{\"expected\": {\"status\": \"ok\", \"code\": 0}}\n",[5010],{"type":21,"tag":68,"props":5011,"children":5012},{"__ignoreMap":8},[5013],{"type":21,"tag":72,"props":5014,"children":5015},{"class":74,"line":75},[5016,5020,5025,5029,5034,5038,5042,5046,5050,5054,5058],{"type":21,"tag":72,"props":5017,"children":5018},{"style":79},[5019],{"type":27,"value":82},{"type":21,"tag":72,"props":5021,"children":5022},{"style":222},[5023],{"type":27,"value":5024},"\"expected\"",{"type":21,"tag":72,"props":5026,"children":5027},{"style":79},[5028],{"type":27,"value":718},{"type":21,"tag":72,"props":5030,"children":5031},{"style":222},[5032],{"type":27,"value":5033},"\"status\"",{"type":21,"tag":72,"props":5035,"children":5036},{"style":79},[5037],{"type":27,"value":93},{"type":21,"tag":72,"props":5039,"children":5040},{"style":555},[5041],{"type":27,"value":2702},{"type":21,"tag":72,"props":5043,"children":5044},{"style":79},[5045],{"type":27,"value":690},{"type":21,"tag":72,"props":5047,"children":5048},{"style":222},[5049],{"type":27,"value":2650},{"type":21,"tag":72,"props":5051,"children":5052},{"style":79},[5053],{"type":27,"value":93},{"type":21,"tag":72,"props":5055,"children":5056},{"style":222},[5057],{"type":27,"value":2659},{"type":21,"tag":72,"props":5059,"children":5060},{"style":79},[5061],{"type":27,"value":269},{"type":21,"tag":35,"props":5063,"children":5064},{"id":106},[5065],{"type":27,"value":106},{"type":21,"tag":110,"props":5067,"children":5068},{},[5069,5076],{"type":21,"tag":114,"props":5070,"children":5071},{},[5072],{"type":21,"tag":118,"props":5073,"children":5074},{"href":3180},[5075],{"type":27,"value":3180},{"type":21,"tag":114,"props":5077,"children":5078},{},[5079],{"type":21,"tag":118,"props":5080,"children":5081},{"href":1819},[5082],{"type":27,"value":1819},{"type":21,"tag":35,"props":5084,"children":5085},{"id":133},[5086],{"type":27,"value":133},{"type":21,"tag":29,"props":5088,"children":5089},{},[5090],{"type":27,"value":5091},"JSON 用于测试夹具与 API 断言，本文介绍组织、Mock 与断言技巧。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":5093,"children":5094},{},[5095],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":5097},[5098,5099,5100,5101,5102],{"id":4984,"depth":148,"text":4984},{"id":4994,"depth":148,"text":4994},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-testing.md","blog/json-testing.md","blog/json-testing",{"_path":5107,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":5108,"description":5109,"date":11,"category":5110,"keywords":5111,"body":5115,"_type":155,"_id":5256,"_source":157,"_file":5257,"_stem":5258,"_extension":160},"/blog/json-to-csharp-class","JSON 转 C# 类教程","根据 JSON 生成 C# 类，用于 .NET 后端快速建模与反序列化。","代码生成",[5112,5113,5114],"json转csharp","json to c#","csharp class",{"type":18,"children":5116,"toc":5249},[5117,5122,5127,5132,5137,5141,5146,5150,5214,5218,5236,5240,5245],{"type":21,"tag":22,"props":5118,"children":5120},{"id":5119},"json-转-c-类教程",[5121],{"type":27,"value":5108},{"type":21,"tag":29,"props":5123,"children":5124},{},[5125],{"type":27,"value":5126},"根据 JSON 生成 C# 类定义，自动推断属性类型，用于 .NET 序列化建模。",{"type":21,"tag":35,"props":5128,"children":5130},{"id":5129},"类型映射",[5131],{"type":27,"value":5129},{"type":21,"tag":29,"props":5133,"children":5134},{},[5135],{"type":27,"value":5136},"string→string、number→int/double、boolean→bool、array→List、object→嵌套类。",{"type":21,"tag":35,"props":5138,"children":5139},{"id":2783},[5140],{"type":27,"value":2783},{"type":21,"tag":29,"props":5142,"children":5143},{},[5144],{"type":27,"value":5145},"可配合 Newtonsoft.Json 或 System.Text.Json 使用。",{"type":21,"tag":35,"props":5147,"children":5148},{"id":57},[5149],{"type":27,"value":57},{"type":21,"tag":61,"props":5151,"children":5153},{"className":63,"code":5152,"language":65,"meta":8,"style":8},"{\"id\": 1, \"name\": \"x\", \"price\": 9.9}\n",[5154],{"type":21,"tag":68,"props":5155,"children":5156},{"__ignoreMap":8},[5157],{"type":21,"tag":72,"props":5158,"children":5159},{"class":74,"line":75},[5160,5164,5168,5172,5176,5180,5184,5188,5192,5196,5201,5205,5210],{"type":21,"tag":72,"props":5161,"children":5162},{"style":79},[5163],{"type":27,"value":82},{"type":21,"tag":72,"props":5165,"children":5166},{"style":222},[5167],{"type":27,"value":695},{"type":21,"tag":72,"props":5169,"children":5170},{"style":79},[5171],{"type":27,"value":93},{"type":21,"tag":72,"props":5173,"children":5174},{"style":222},[5175],{"type":27,"value":235},{"type":21,"tag":72,"props":5177,"children":5178},{"style":79},[5179],{"type":27,"value":690},{"type":21,"tag":72,"props":5181,"children":5182},{"style":222},[5183],{"type":27,"value":723},{"type":21,"tag":72,"props":5185,"children":5186},{"style":79},[5187],{"type":27,"value":93},{"type":21,"tag":72,"props":5189,"children":5190},{"style":555},[5191],{"type":27,"value":732},{"type":21,"tag":72,"props":5193,"children":5194},{"style":79},[5195],{"type":27,"value":690},{"type":21,"tag":72,"props":5197,"children":5198},{"style":222},[5199],{"type":27,"value":5200},"\"price\"",{"type":21,"tag":72,"props":5202,"children":5203},{"style":79},[5204],{"type":27,"value":93},{"type":21,"tag":72,"props":5206,"children":5207},{"style":222},[5208],{"type":27,"value":5209},"9.9",{"type":21,"tag":72,"props":5211,"children":5212},{"style":79},[5213],{"type":27,"value":1069},{"type":21,"tag":35,"props":5215,"children":5216},{"id":106},[5217],{"type":27,"value":106},{"type":21,"tag":110,"props":5219,"children":5220},{},[5221,5229],{"type":21,"tag":114,"props":5222,"children":5223},{},[5224],{"type":21,"tag":118,"props":5225,"children":5227},{"href":5226},"/codegen/java",[5228],{"type":27,"value":5226},{"type":21,"tag":114,"props":5230,"children":5231},{},[5232],{"type":21,"tag":118,"props":5233,"children":5234},{"href":128},[5235],{"type":27,"value":128},{"type":21,"tag":35,"props":5237,"children":5238},{"id":133},[5239],{"type":27,"value":133},{"type":21,"tag":29,"props":5241,"children":5242},{},[5243],{"type":27,"value":5244},"根据 JSON 生成 C# 类，用于 .NET 后端快速建模与反序列化。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":5246,"children":5247},{},[5248],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":5250},[5251,5252,5253,5254,5255],{"id":5129,"depth":148,"text":5129},{"id":2783,"depth":148,"text":2783},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-to-csharp-class.md","blog/json-to-csharp-class.md","blog/json-to-csharp-class",{"_path":5260,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":5261,"description":5262,"date":11,"category":165,"keywords":5263,"body":5267,"_type":155,"_id":5424,"_source":157,"_file":5425,"_stem":5426,"_extension":160},"/blog/json-to-csv-tutorial","JSON 转 CSV 教程","JSON 转 CSV 用于导出表格，仅适合数组对象结构，嵌套需先扁平化。",[5264,5265,5266],"json转csv","json to csv","csv导出",{"type":18,"children":5268,"toc":5417},[5269,5274,5279,5284,5289,5294,5299,5303,5382,5386,5404,5408,5413],{"type":21,"tag":22,"props":5270,"children":5272},{"id":5271},"json-转-csv-教程",[5273],{"type":27,"value":5261},{"type":21,"tag":29,"props":5275,"children":5276},{},[5277],{"type":27,"value":5278},"将 JSON 转 CSV 用于导入 Excel 或数据库，仅适合扁平的数组对象结构。",{"type":21,"tag":35,"props":5280,"children":5282},{"id":5281},"转换条件",[5283],{"type":27,"value":5281},{"type":21,"tag":29,"props":5285,"children":5286},{},[5287],{"type":27,"value":5288},"JSON 须为对象数组，每个对象的键作为列名，值作为单元格。",{"type":21,"tag":35,"props":5290,"children":5292},{"id":5291},"嵌套处理",[5293],{"type":27,"value":5291},{"type":21,"tag":29,"props":5295,"children":5296},{},[5297],{"type":27,"value":5298},"嵌套对象或数组需先扁平化为点路径键，否则无法映射到列。",{"type":21,"tag":35,"props":5300,"children":5301},{"id":57},[5302],{"type":27,"value":57},{"type":21,"tag":61,"props":5304,"children":5306},{"className":63,"code":5305,"language":65,"meta":8,"style":8},"[{\"id\":1,\"name\":\"a\"},{\"id\":2,\"name\":\"b\"}]\n",[5307],{"type":21,"tag":68,"props":5308,"children":5309},{"__ignoreMap":8},[5310],{"type":21,"tag":72,"props":5311,"children":5312},{"class":74,"line":75},[5313,5317,5321,5325,5329,5333,5337,5341,5345,5350,5354,5358,5362,5366,5370,5374,5378],{"type":21,"tag":72,"props":5314,"children":5315},{"style":79},[5316],{"type":27,"value":3706},{"type":21,"tag":72,"props":5318,"children":5319},{"style":222},[5320],{"type":27,"value":695},{"type":21,"tag":72,"props":5322,"children":5323},{"style":79},[5324],{"type":27,"value":230},{"type":21,"tag":72,"props":5326,"children":5327},{"style":222},[5328],{"type":27,"value":235},{"type":21,"tag":72,"props":5330,"children":5331},{"style":79},[5332],{"type":27,"value":240},{"type":21,"tag":72,"props":5334,"children":5335},{"style":222},[5336],{"type":27,"value":723},{"type":21,"tag":72,"props":5338,"children":5339},{"style":79},[5340],{"type":27,"value":230},{"type":21,"tag":72,"props":5342,"children":5343},{"style":555},[5344],{"type":27,"value":225},{"type":21,"tag":72,"props":5346,"children":5347},{"style":79},[5348],{"type":27,"value":5349},"},{",{"type":21,"tag":72,"props":5351,"children":5352},{"style":222},[5353],{"type":27,"value":695},{"type":21,"tag":72,"props":5355,"children":5356},{"style":79},[5357],{"type":27,"value":230},{"type":21,"tag":72,"props":5359,"children":5360},{"style":222},[5361],{"type":27,"value":264},{"type":21,"tag":72,"props":5363,"children":5364},{"style":79},[5365],{"type":27,"value":240},{"type":21,"tag":72,"props":5367,"children":5368},{"style":222},[5369],{"type":27,"value":723},{"type":21,"tag":72,"props":5371,"children":5372},{"style":79},[5373],{"type":27,"value":230},{"type":21,"tag":72,"props":5375,"children":5376},{"style":555},[5377],{"type":27,"value":245},{"type":21,"tag":72,"props":5379,"children":5380},{"style":79},[5381],{"type":27,"value":3761},{"type":21,"tag":35,"props":5383,"children":5384},{"id":106},[5385],{"type":27,"value":106},{"type":21,"tag":110,"props":5387,"children":5388},{},[5389,5397],{"type":21,"tag":114,"props":5390,"children":5391},{},[5392],{"type":21,"tag":118,"props":5393,"children":5395},{"href":5394},"/convert/csv",[5396],{"type":27,"value":5394},{"type":21,"tag":114,"props":5398,"children":5399},{},[5400],{"type":21,"tag":118,"props":5401,"children":5402},{"href":2279},[5403],{"type":27,"value":2279},{"type":21,"tag":35,"props":5405,"children":5406},{"id":133},[5407],{"type":27,"value":133},{"type":21,"tag":29,"props":5409,"children":5410},{},[5411],{"type":27,"value":5412},"JSON 转 CSV 用于导出表格，仅适合数组对象结构，嵌套需先扁平化。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":5414,"children":5415},{},[5416],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":5418},[5419,5420,5421,5422,5423],{"id":5281,"depth":148,"text":5281},{"id":5291,"depth":148,"text":5291},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-to-csv-tutorial.md","blog/json-to-csv-tutorial.md","blog/json-to-csv-tutorial",{"_path":5428,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":5429,"description":5430,"date":11,"category":5110,"keywords":5431,"body":5435,"_type":155,"_id":5587,"_source":157,"_file":5588,"_stem":5589,"_extension":160},"/blog/json-to-excel","JSON 转 Excel 教程","将 JSON 数据导出为 Excel xlsx 文件，用于数据分析与报表。",[5432,5433,5434],"json转excel","json to xlsx","导出excel",{"type":18,"children":5436,"toc":5580},[5437,5442,5447,5451,5456,5460,5465,5469,5546,5550,5567,5571,5576],{"type":21,"tag":22,"props":5438,"children":5440},{"id":5439},"json-转-excel-教程",[5441],{"type":27,"value":5429},{"type":21,"tag":29,"props":5443,"children":5444},{},[5445],{"type":27,"value":5446},"将 JSON 数组导出为 Excel xlsx 文件，键作为列名，用于数据分析与报表分发。",{"type":21,"tag":35,"props":5448,"children":5449},{"id":5281},[5450],{"type":27,"value":5281},{"type":21,"tag":29,"props":5452,"children":5453},{},[5454],{"type":27,"value":5455},"JSON 须为对象数组，每个对象的键作为列，值作为单元格。",{"type":21,"tag":35,"props":5457,"children":5458},{"id":815},[5459],{"type":27,"value":815},{"type":21,"tag":29,"props":5461,"children":5462},{},[5463],{"type":27,"value":5464},"导出业务数据、生成报表、与 Excel 用户协作。",{"type":21,"tag":35,"props":5466,"children":5467},{"id":57},[5468],{"type":27,"value":57},{"type":21,"tag":61,"props":5470,"children":5471},{"className":63,"code":5305,"language":65,"meta":8,"style":8},[5472],{"type":21,"tag":68,"props":5473,"children":5474},{"__ignoreMap":8},[5475],{"type":21,"tag":72,"props":5476,"children":5477},{"class":74,"line":75},[5478,5482,5486,5490,5494,5498,5502,5506,5510,5514,5518,5522,5526,5530,5534,5538,5542],{"type":21,"tag":72,"props":5479,"children":5480},{"style":79},[5481],{"type":27,"value":3706},{"type":21,"tag":72,"props":5483,"children":5484},{"style":222},[5485],{"type":27,"value":695},{"type":21,"tag":72,"props":5487,"children":5488},{"style":79},[5489],{"type":27,"value":230},{"type":21,"tag":72,"props":5491,"children":5492},{"style":222},[5493],{"type":27,"value":235},{"type":21,"tag":72,"props":5495,"children":5496},{"style":79},[5497],{"type":27,"value":240},{"type":21,"tag":72,"props":5499,"children":5500},{"style":222},[5501],{"type":27,"value":723},{"type":21,"tag":72,"props":5503,"children":5504},{"style":79},[5505],{"type":27,"value":230},{"type":21,"tag":72,"props":5507,"children":5508},{"style":555},[5509],{"type":27,"value":225},{"type":21,"tag":72,"props":5511,"children":5512},{"style":79},[5513],{"type":27,"value":5349},{"type":21,"tag":72,"props":5515,"children":5516},{"style":222},[5517],{"type":27,"value":695},{"type":21,"tag":72,"props":5519,"children":5520},{"style":79},[5521],{"type":27,"value":230},{"type":21,"tag":72,"props":5523,"children":5524},{"style":222},[5525],{"type":27,"value":264},{"type":21,"tag":72,"props":5527,"children":5528},{"style":79},[5529],{"type":27,"value":240},{"type":21,"tag":72,"props":5531,"children":5532},{"style":222},[5533],{"type":27,"value":723},{"type":21,"tag":72,"props":5535,"children":5536},{"style":79},[5537],{"type":27,"value":230},{"type":21,"tag":72,"props":5539,"children":5540},{"style":555},[5541],{"type":27,"value":245},{"type":21,"tag":72,"props":5543,"children":5544},{"style":79},[5545],{"type":27,"value":3761},{"type":21,"tag":35,"props":5547,"children":5548},{"id":106},[5549],{"type":27,"value":106},{"type":21,"tag":110,"props":5551,"children":5552},{},[5553,5560],{"type":21,"tag":114,"props":5554,"children":5555},{},[5556],{"type":21,"tag":118,"props":5557,"children":5558},{"href":5394},[5559],{"type":27,"value":5394},{"type":21,"tag":114,"props":5561,"children":5562},{},[5563],{"type":21,"tag":118,"props":5564,"children":5565},{"href":2279},[5566],{"type":27,"value":2279},{"type":21,"tag":35,"props":5568,"children":5569},{"id":133},[5570],{"type":27,"value":133},{"type":21,"tag":29,"props":5572,"children":5573},{},[5574],{"type":27,"value":5575},"将 JSON 数据导出为 Excel xlsx 文件，用于数据分析与报表。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":5577,"children":5578},{},[5579],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":5581},[5582,5583,5584,5585,5586],{"id":5281,"depth":148,"text":5281},{"id":815,"depth":148,"text":815},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-to-excel.md","blog/json-to-excel.md","blog/json-to-excel",{"_path":5591,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":5592,"description":5593,"date":11,"category":5110,"keywords":5594,"body":5598,"_type":155,"_id":5729,"_source":157,"_file":5730,"_stem":5731,"_extension":160},"/blog/json-to-go-struct","JSON 转 Go struct 教程","根据 JSON 生成 Go 结构体，含 json tag，用于 Go 后端快速建模。",[5595,5596,5597],"json转go","json to golang","go struct",{"type":18,"children":5599,"toc":5722},[5600,5605,5610,5614,5619,5625,5638,5642,5688,5692,5709,5713,5718],{"type":21,"tag":22,"props":5601,"children":5603},{"id":5602},"json-转-go-struct-教程",[5604],{"type":27,"value":5592},{"type":21,"tag":29,"props":5606,"children":5607},{},[5608],{"type":27,"value":5609},"根据 JSON 生成 Go 结构体定义，自动添加 json tag，用于 Go 后端反序列化建模。",{"type":21,"tag":35,"props":5611,"children":5612},{"id":5129},[5613],{"type":27,"value":5129},{"type":21,"tag":29,"props":5615,"children":5616},{},[5617],{"type":27,"value":5618},"string→string、number→int/float64、boolean→bool、array→slice、object→嵌套 struct。",{"type":21,"tag":35,"props":5620,"children":5622},{"id":5621},"tag-生成",[5623],{"type":27,"value":5624},"tag 生成",{"type":21,"tag":29,"props":5626,"children":5627},{},[5628,5630,5636],{"type":27,"value":5629},"默认生成 ",{"type":21,"tag":68,"props":5631,"children":5633},{"className":5632},[],[5634],{"type":27,"value":5635},"json:\"key\"",{"type":27,"value":5637}," tag，可选 omitempty。",{"type":21,"tag":35,"props":5639,"children":5640},{"id":57},[5641],{"type":27,"value":57},{"type":21,"tag":61,"props":5643,"children":5645},{"className":63,"code":5644,"language":65,"meta":8,"style":8},"{\"id\": 1, \"name\": \"x\"}\n",[5646],{"type":21,"tag":68,"props":5647,"children":5648},{"__ignoreMap":8},[5649],{"type":21,"tag":72,"props":5650,"children":5651},{"class":74,"line":75},[5652,5656,5660,5664,5668,5672,5676,5680,5684],{"type":21,"tag":72,"props":5653,"children":5654},{"style":79},[5655],{"type":27,"value":82},{"type":21,"tag":72,"props":5657,"children":5658},{"style":222},[5659],{"type":27,"value":695},{"type":21,"tag":72,"props":5661,"children":5662},{"style":79},[5663],{"type":27,"value":93},{"type":21,"tag":72,"props":5665,"children":5666},{"style":222},[5667],{"type":27,"value":235},{"type":21,"tag":72,"props":5669,"children":5670},{"style":79},[5671],{"type":27,"value":690},{"type":21,"tag":72,"props":5673,"children":5674},{"style":222},[5675],{"type":27,"value":723},{"type":21,"tag":72,"props":5677,"children":5678},{"style":79},[5679],{"type":27,"value":93},{"type":21,"tag":72,"props":5681,"children":5682},{"style":555},[5683],{"type":27,"value":732},{"type":21,"tag":72,"props":5685,"children":5686},{"style":79},[5687],{"type":27,"value":1069},{"type":21,"tag":35,"props":5689,"children":5690},{"id":106},[5691],{"type":27,"value":106},{"type":21,"tag":110,"props":5693,"children":5694},{},[5695,5702],{"type":21,"tag":114,"props":5696,"children":5697},{},[5698],{"type":21,"tag":118,"props":5699,"children":5700},{"href":5226},[5701],{"type":27,"value":5226},{"type":21,"tag":114,"props":5703,"children":5704},{},[5705],{"type":21,"tag":118,"props":5706,"children":5707},{"href":128},[5708],{"type":27,"value":128},{"type":21,"tag":35,"props":5710,"children":5711},{"id":133},[5712],{"type":27,"value":133},{"type":21,"tag":29,"props":5714,"children":5715},{},[5716],{"type":27,"value":5717},"根据 JSON 生成 Go 结构体，含 json tag，用于 Go 后端快速建模。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":5719,"children":5720},{},[5721],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":5723},[5724,5725,5726,5727,5728],{"id":5129,"depth":148,"text":5129},{"id":5621,"depth":148,"text":5624},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-to-go-struct.md","blog/json-to-go-struct.md","blog/json-to-go-struct",{"_path":5733,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":5734,"description":5735,"date":11,"category":5110,"keywords":5736,"body":5740,"_type":155,"_id":5860,"_source":157,"_file":5861,"_stem":5862,"_extension":160},"/blog/json-to-graphql","JSON 转 GraphQL 教程","根据 JSON 结构生成 GraphQL type 定义，用于 GraphQL 服务建模。",[5737,5738,5739],"json转graphql","graphql type","graphql",{"type":18,"children":5741,"toc":5853},[5742,5747,5752,5756,5761,5765,5770,5774,5819,5823,5840,5844,5849],{"type":21,"tag":22,"props":5743,"children":5745},{"id":5744},"json-转-graphql-教程",[5746],{"type":27,"value":5734},{"type":21,"tag":29,"props":5748,"children":5749},{},[5750],{"type":27,"value":5751},"根据 JSON 结构生成 GraphQL type 定义，用于 GraphQL 服务的 schema 建模。",{"type":21,"tag":35,"props":5753,"children":5754},{"id":5129},[5755],{"type":27,"value":5129},{"type":21,"tag":29,"props":5757,"children":5758},{},[5759],{"type":27,"value":5760},"string→String、number→Int/Float、boolean→Boolean、array→列表类型、object→嵌套 type。",{"type":21,"tag":35,"props":5762,"children":5763},{"id":815},[5764],{"type":27,"value":815},{"type":21,"tag":29,"props":5766,"children":5767},{},[5768],{"type":27,"value":5769},"快速为 GraphQL 服务生成 type 定义，减少手写。",{"type":21,"tag":35,"props":5771,"children":5772},{"id":57},[5773],{"type":27,"value":57},{"type":21,"tag":61,"props":5775,"children":5776},{"className":63,"code":5644,"language":65,"meta":8,"style":8},[5777],{"type":21,"tag":68,"props":5778,"children":5779},{"__ignoreMap":8},[5780],{"type":21,"tag":72,"props":5781,"children":5782},{"class":74,"line":75},[5783,5787,5791,5795,5799,5803,5807,5811,5815],{"type":21,"tag":72,"props":5784,"children":5785},{"style":79},[5786],{"type":27,"value":82},{"type":21,"tag":72,"props":5788,"children":5789},{"style":222},[5790],{"type":27,"value":695},{"type":21,"tag":72,"props":5792,"children":5793},{"style":79},[5794],{"type":27,"value":93},{"type":21,"tag":72,"props":5796,"children":5797},{"style":222},[5798],{"type":27,"value":235},{"type":21,"tag":72,"props":5800,"children":5801},{"style":79},[5802],{"type":27,"value":690},{"type":21,"tag":72,"props":5804,"children":5805},{"style":222},[5806],{"type":27,"value":723},{"type":21,"tag":72,"props":5808,"children":5809},{"style":79},[5810],{"type":27,"value":93},{"type":21,"tag":72,"props":5812,"children":5813},{"style":555},[5814],{"type":27,"value":732},{"type":21,"tag":72,"props":5816,"children":5817},{"style":79},[5818],{"type":27,"value":1069},{"type":21,"tag":35,"props":5820,"children":5821},{"id":106},[5822],{"type":27,"value":106},{"type":21,"tag":110,"props":5824,"children":5825},{},[5826,5833],{"type":21,"tag":114,"props":5827,"children":5828},{},[5829],{"type":21,"tag":118,"props":5830,"children":5831},{"href":5226},[5832],{"type":27,"value":5226},{"type":21,"tag":114,"props":5834,"children":5835},{},[5836],{"type":21,"tag":118,"props":5837,"children":5838},{"href":128},[5839],{"type":27,"value":128},{"type":21,"tag":35,"props":5841,"children":5842},{"id":133},[5843],{"type":27,"value":133},{"type":21,"tag":29,"props":5845,"children":5846},{},[5847],{"type":27,"value":5848},"根据 JSON 结构生成 GraphQL type 定义，用于 GraphQL 服务建模。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":5850,"children":5851},{},[5852],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":5854},[5855,5856,5857,5858,5859],{"id":5129,"depth":148,"text":5129},{"id":815,"depth":148,"text":815},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-to-graphql.md","blog/json-to-graphql.md","blog/json-to-graphql",{"_path":5864,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":5865,"description":5866,"date":11,"category":165,"keywords":5867,"body":5871,"_type":155,"_id":6008,"_source":157,"_file":6009,"_stem":6010,"_extension":160},"/blog/json-to-java-tutorial","JSON 转 Java POJO 教程","根据 JSON 生成 Java POJO 类，含字段、getter/setter，用于快速建模。",[5868,5869,5870],"json转java","json to pojo","json to java class",{"type":18,"children":5872,"toc":6001},[5873,5878,5883,5887,5892,5897,5902,5906,5967,5971,5988,5992,5997],{"type":21,"tag":22,"props":5874,"children":5876},{"id":5875},"json-转-java-pojo-教程",[5877],{"type":27,"value":5865},{"type":21,"tag":29,"props":5879,"children":5880},{},[5881],{"type":27,"value":5882},"根据 JSON 生成 Java POJO 类，自动推断字段类型并生成属性、构造器等，加速后端建模。",{"type":21,"tag":35,"props":5884,"children":5885},{"id":5129},[5886],{"type":27,"value":5129},{"type":21,"tag":29,"props":5888,"children":5889},{},[5890],{"type":27,"value":5891},"string→String、number→Long/Double、boolean→Boolean、array→List、object→嵌套类。",{"type":21,"tag":35,"props":5893,"children":5895},{"id":5894},"生成选项",[5896],{"type":27,"value":5894},{"type":21,"tag":29,"props":5898,"children":5899},{},[5900],{"type":27,"value":5901},"可选包名、是否生成 getter/setter、Lombok 注解等。",{"type":21,"tag":35,"props":5903,"children":5904},{"id":57},[5905],{"type":27,"value":57},{"type":21,"tag":61,"props":5907,"children":5908},{"className":63,"code":5152,"language":65,"meta":8,"style":8},[5909],{"type":21,"tag":68,"props":5910,"children":5911},{"__ignoreMap":8},[5912],{"type":21,"tag":72,"props":5913,"children":5914},{"class":74,"line":75},[5915,5919,5923,5927,5931,5935,5939,5943,5947,5951,5955,5959,5963],{"type":21,"tag":72,"props":5916,"children":5917},{"style":79},[5918],{"type":27,"value":82},{"type":21,"tag":72,"props":5920,"children":5921},{"style":222},[5922],{"type":27,"value":695},{"type":21,"tag":72,"props":5924,"children":5925},{"style":79},[5926],{"type":27,"value":93},{"type":21,"tag":72,"props":5928,"children":5929},{"style":222},[5930],{"type":27,"value":235},{"type":21,"tag":72,"props":5932,"children":5933},{"style":79},[5934],{"type":27,"value":690},{"type":21,"tag":72,"props":5936,"children":5937},{"style":222},[5938],{"type":27,"value":723},{"type":21,"tag":72,"props":5940,"children":5941},{"style":79},[5942],{"type":27,"value":93},{"type":21,"tag":72,"props":5944,"children":5945},{"style":555},[5946],{"type":27,"value":732},{"type":21,"tag":72,"props":5948,"children":5949},{"style":79},[5950],{"type":27,"value":690},{"type":21,"tag":72,"props":5952,"children":5953},{"style":222},[5954],{"type":27,"value":5200},{"type":21,"tag":72,"props":5956,"children":5957},{"style":79},[5958],{"type":27,"value":93},{"type":21,"tag":72,"props":5960,"children":5961},{"style":222},[5962],{"type":27,"value":5209},{"type":21,"tag":72,"props":5964,"children":5965},{"style":79},[5966],{"type":27,"value":1069},{"type":21,"tag":35,"props":5968,"children":5969},{"id":106},[5970],{"type":27,"value":106},{"type":21,"tag":110,"props":5972,"children":5973},{},[5974,5981],{"type":21,"tag":114,"props":5975,"children":5976},{},[5977],{"type":21,"tag":118,"props":5978,"children":5979},{"href":5226},[5980],{"type":27,"value":5226},{"type":21,"tag":114,"props":5982,"children":5983},{},[5984],{"type":21,"tag":118,"props":5985,"children":5986},{"href":128},[5987],{"type":27,"value":128},{"type":21,"tag":35,"props":5989,"children":5990},{"id":133},[5991],{"type":27,"value":133},{"type":21,"tag":29,"props":5993,"children":5994},{},[5995],{"type":27,"value":5996},"根据 JSON 生成 Java POJO 类，含字段、getter/setter，用于快速建模。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":5998,"children":5999},{},[6000],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":6002},[6003,6004,6005,6006,6007],{"id":5129,"depth":148,"text":5129},{"id":5894,"depth":148,"text":5894},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-to-java-tutorial.md","blog/json-to-java-tutorial.md","blog/json-to-java-tutorial",{"_path":6012,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":6013,"description":6014,"date":11,"category":5110,"keywords":6015,"body":6019,"_type":155,"_id":6173,"_source":157,"_file":6174,"_stem":6175,"_extension":160},"/blog/json-to-markdown","JSON 转 Markdown 表格教程","将 JSON 数组转为 Markdown 表格，用于文档展示与 README 编写。",[6016,6017,6018],"json转markdown","json to md","markdown表格",{"type":18,"children":6020,"toc":6166},[6021,6026,6031,6036,6041,6045,6050,6054,6132,6136,6153,6157,6162],{"type":21,"tag":22,"props":6022,"children":6024},{"id":6023},"json-转-markdown-表格教程",[6025],{"type":27,"value":6013},{"type":21,"tag":29,"props":6027,"children":6028},{},[6029],{"type":27,"value":6030},"将 JSON 对象数组转为 Markdown 表格，键作为表头，值作为单元格，便于文档展示。",{"type":21,"tag":35,"props":6032,"children":6034},{"id":6033},"转换规则",[6035],{"type":27,"value":6033},{"type":21,"tag":29,"props":6037,"children":6038},{},[6039],{"type":27,"value":6040},"数组对象的键生成表头行，每个对象生成一行数据，用 | 分隔。",{"type":21,"tag":35,"props":6042,"children":6043},{"id":815},[6044],{"type":27,"value":815},{"type":21,"tag":29,"props":6046,"children":6047},{},[6048],{"type":27,"value":6049},"生成 README 表格、文档数据展示、API 字段说明。",{"type":21,"tag":35,"props":6051,"children":6052},{"id":57},[6053],{"type":27,"value":57},{"type":21,"tag":61,"props":6055,"children":6057},{"className":63,"code":6056,"language":65,"meta":8,"style":8},"[{\"name\":\"a\",\"age\":1},{\"name\":\"b\",\"age\":2}]\n",[6058],{"type":21,"tag":68,"props":6059,"children":6060},{"__ignoreMap":8},[6061],{"type":21,"tag":72,"props":6062,"children":6063},{"class":74,"line":75},[6064,6068,6072,6076,6080,6084,6088,6092,6096,6100,6104,6108,6112,6116,6120,6124,6128],{"type":21,"tag":72,"props":6065,"children":6066},{"style":79},[6067],{"type":27,"value":3706},{"type":21,"tag":72,"props":6069,"children":6070},{"style":222},[6071],{"type":27,"value":723},{"type":21,"tag":72,"props":6073,"children":6074},{"style":79},[6075],{"type":27,"value":230},{"type":21,"tag":72,"props":6077,"children":6078},{"style":555},[6079],{"type":27,"value":225},{"type":21,"tag":72,"props":6081,"children":6082},{"style":79},[6083],{"type":27,"value":240},{"type":21,"tag":72,"props":6085,"children":6086},{"style":222},[6087],{"type":27,"value":4876},{"type":21,"tag":72,"props":6089,"children":6090},{"style":79},[6091],{"type":27,"value":230},{"type":21,"tag":72,"props":6093,"children":6094},{"style":222},[6095],{"type":27,"value":235},{"type":21,"tag":72,"props":6097,"children":6098},{"style":79},[6099],{"type":27,"value":5349},{"type":21,"tag":72,"props":6101,"children":6102},{"style":222},[6103],{"type":27,"value":723},{"type":21,"tag":72,"props":6105,"children":6106},{"style":79},[6107],{"type":27,"value":230},{"type":21,"tag":72,"props":6109,"children":6110},{"style":555},[6111],{"type":27,"value":245},{"type":21,"tag":72,"props":6113,"children":6114},{"style":79},[6115],{"type":27,"value":240},{"type":21,"tag":72,"props":6117,"children":6118},{"style":222},[6119],{"type":27,"value":4876},{"type":21,"tag":72,"props":6121,"children":6122},{"style":79},[6123],{"type":27,"value":230},{"type":21,"tag":72,"props":6125,"children":6126},{"style":222},[6127],{"type":27,"value":264},{"type":21,"tag":72,"props":6129,"children":6130},{"style":79},[6131],{"type":27,"value":3761},{"type":21,"tag":35,"props":6133,"children":6134},{"id":106},[6135],{"type":27,"value":106},{"type":21,"tag":110,"props":6137,"children":6138},{},[6139,6146],{"type":21,"tag":114,"props":6140,"children":6141},{},[6142],{"type":21,"tag":118,"props":6143,"children":6144},{"href":5394},[6145],{"type":27,"value":5394},{"type":21,"tag":114,"props":6147,"children":6148},{},[6149],{"type":21,"tag":118,"props":6150,"children":6151},{"href":128},[6152],{"type":27,"value":128},{"type":21,"tag":35,"props":6154,"children":6155},{"id":133},[6156],{"type":27,"value":133},{"type":21,"tag":29,"props":6158,"children":6159},{},[6160],{"type":27,"value":6161},"将 JSON 数组转为 Markdown 表格，用于文档展示与 README 编写。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":6163,"children":6164},{},[6165],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":6167},[6168,6169,6170,6171,6172],{"id":6033,"depth":148,"text":6033},{"id":815,"depth":148,"text":815},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-to-markdown.md","blog/json-to-markdown.md","blog/json-to-markdown",{"_path":6177,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":6178,"description":6179,"date":11,"category":5110,"keywords":6180,"body":6184,"_type":155,"_id":6324,"_source":157,"_file":6325,"_stem":6326,"_extension":160},"/blog/json-to-mybatis-mapper","JSON 转 MyBatis Mapper 教程","根据 JSON 生成 MyBatis Mapper XML 与实体类，加速 Java 持久层开发。",[6181,6182,6183],"json转mybatis","mybatis mapper","mapper xml",{"type":18,"children":6185,"toc":6317},[6186,6191,6196,6201,6206,6210,6215,6219,6282,6286,6304,6308,6313],{"type":21,"tag":22,"props":6187,"children":6189},{"id":6188},"json-转-mybatis-mapper-教程",[6190],{"type":27,"value":6178},{"type":21,"tag":29,"props":6192,"children":6193},{},[6194],{"type":27,"value":6195},"根据 JSON 结构生成 MyBatis Mapper XML 与对应实体类，加速 Java 持久层开发。",{"type":21,"tag":35,"props":6197,"children":6199},{"id":6198},"生成内容",[6200],{"type":27,"value":6198},{"type":21,"tag":29,"props":6202,"children":6203},{},[6204],{"type":27,"value":6205},"实体类字段、resultMap 映射、基础 CRUD 的 SQL 语句。",{"type":21,"tag":35,"props":6207,"children":6208},{"id":815},[6209],{"type":27,"value":815},{"type":21,"tag":29,"props":6211,"children":6212},{},[6213],{"type":27,"value":6214},"根据接口返回 JSON 反推表结构与 Mapper，快速搭建持久层。",{"type":21,"tag":35,"props":6216,"children":6217},{"id":57},[6218],{"type":27,"value":57},{"type":21,"tag":61,"props":6220,"children":6222},{"className":63,"code":6221,"language":65,"meta":8,"style":8},"{\"id\": 1, \"name\": \"x\", \"age\": 20}\n",[6223],{"type":21,"tag":68,"props":6224,"children":6225},{"__ignoreMap":8},[6226],{"type":21,"tag":72,"props":6227,"children":6228},{"class":74,"line":75},[6229,6233,6237,6241,6245,6249,6253,6257,6261,6265,6269,6273,6278],{"type":21,"tag":72,"props":6230,"children":6231},{"style":79},[6232],{"type":27,"value":82},{"type":21,"tag":72,"props":6234,"children":6235},{"style":222},[6236],{"type":27,"value":695},{"type":21,"tag":72,"props":6238,"children":6239},{"style":79},[6240],{"type":27,"value":93},{"type":21,"tag":72,"props":6242,"children":6243},{"style":222},[6244],{"type":27,"value":235},{"type":21,"tag":72,"props":6246,"children":6247},{"style":79},[6248],{"type":27,"value":690},{"type":21,"tag":72,"props":6250,"children":6251},{"style":222},[6252],{"type":27,"value":723},{"type":21,"tag":72,"props":6254,"children":6255},{"style":79},[6256],{"type":27,"value":93},{"type":21,"tag":72,"props":6258,"children":6259},{"style":555},[6260],{"type":27,"value":732},{"type":21,"tag":72,"props":6262,"children":6263},{"style":79},[6264],{"type":27,"value":690},{"type":21,"tag":72,"props":6266,"children":6267},{"style":222},[6268],{"type":27,"value":4876},{"type":21,"tag":72,"props":6270,"children":6271},{"style":79},[6272],{"type":27,"value":93},{"type":21,"tag":72,"props":6274,"children":6275},{"style":222},[6276],{"type":27,"value":6277},"20",{"type":21,"tag":72,"props":6279,"children":6280},{"style":79},[6281],{"type":27,"value":1069},{"type":21,"tag":35,"props":6283,"children":6284},{"id":106},[6285],{"type":27,"value":106},{"type":21,"tag":110,"props":6287,"children":6288},{},[6289,6297],{"type":21,"tag":114,"props":6290,"children":6291},{},[6292],{"type":21,"tag":118,"props":6293,"children":6295},{"href":6294},"/codegen/mybatis",[6296],{"type":27,"value":6294},{"type":21,"tag":114,"props":6298,"children":6299},{},[6300],{"type":21,"tag":118,"props":6301,"children":6302},{"href":128},[6303],{"type":27,"value":128},{"type":21,"tag":35,"props":6305,"children":6306},{"id":133},[6307],{"type":27,"value":133},{"type":21,"tag":29,"props":6309,"children":6310},{},[6311],{"type":27,"value":6312},"根据 JSON 生成 MyBatis Mapper XML 与实体类，加速 Java 持久层开发。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":6314,"children":6315},{},[6316],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":6318},[6319,6320,6321,6322,6323],{"id":6198,"depth":148,"text":6198},{"id":815,"depth":148,"text":815},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-to-mybatis-mapper.md","blog/json-to-mybatis-mapper.md","blog/json-to-mybatis-mapper",{"_path":6328,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":6329,"description":6330,"date":11,"category":5110,"keywords":6331,"body":6335,"_type":155,"_id":6455,"_source":157,"_file":6456,"_stem":6457,"_extension":160},"/blog/json-to-openapi","JSON 转 OpenAPI 规范教程","根据 API 返回 JSON 生成 OpenAPI/Swagger 规范片段，用于接口文档化。",[6332,6333,6334],"json转openapi","openapi","swagger",{"type":18,"children":6336,"toc":6448},[6337,6342,6347,6351,6356,6360,6365,6369,6414,6418,6435,6439,6444],{"type":21,"tag":22,"props":6338,"children":6340},{"id":6339},"json-转-openapi-规范教程",[6341],{"type":27,"value":6329},{"type":21,"tag":29,"props":6343,"children":6344},{},[6345],{"type":27,"value":6346},"根据 API 返回的 JSON 样本生成 OpenAPI/Swagger 规范的 schema 片段，用于接口文档化。",{"type":21,"tag":35,"props":6348,"children":6349},{"id":6198},[6350],{"type":27,"value":6198},{"type":21,"tag":29,"props":6352,"children":6353},{},[6354],{"type":27,"value":6355},"components/schemas 定义、属性类型、示例值、必填字段。",{"type":21,"tag":35,"props":6357,"children":6358},{"id":815},[6359],{"type":27,"value":815},{"type":21,"tag":29,"props":6361,"children":6362},{},[6363],{"type":27,"value":6364},"快速为现有 API 补充 OpenAPI 文档，导入 Swagger UI。",{"type":21,"tag":35,"props":6366,"children":6367},{"id":57},[6368],{"type":27,"value":57},{"type":21,"tag":61,"props":6370,"children":6371},{"className":63,"code":5644,"language":65,"meta":8,"style":8},[6372],{"type":21,"tag":68,"props":6373,"children":6374},{"__ignoreMap":8},[6375],{"type":21,"tag":72,"props":6376,"children":6377},{"class":74,"line":75},[6378,6382,6386,6390,6394,6398,6402,6406,6410],{"type":21,"tag":72,"props":6379,"children":6380},{"style":79},[6381],{"type":27,"value":82},{"type":21,"tag":72,"props":6383,"children":6384},{"style":222},[6385],{"type":27,"value":695},{"type":21,"tag":72,"props":6387,"children":6388},{"style":79},[6389],{"type":27,"value":93},{"type":21,"tag":72,"props":6391,"children":6392},{"style":222},[6393],{"type":27,"value":235},{"type":21,"tag":72,"props":6395,"children":6396},{"style":79},[6397],{"type":27,"value":690},{"type":21,"tag":72,"props":6399,"children":6400},{"style":222},[6401],{"type":27,"value":723},{"type":21,"tag":72,"props":6403,"children":6404},{"style":79},[6405],{"type":27,"value":93},{"type":21,"tag":72,"props":6407,"children":6408},{"style":555},[6409],{"type":27,"value":732},{"type":21,"tag":72,"props":6411,"children":6412},{"style":79},[6413],{"type":27,"value":1069},{"type":21,"tag":35,"props":6415,"children":6416},{"id":106},[6417],{"type":27,"value":106},{"type":21,"tag":110,"props":6419,"children":6420},{},[6421,6428],{"type":21,"tag":114,"props":6422,"children":6423},{},[6424],{"type":21,"tag":118,"props":6425,"children":6426},{"href":5226},[6427],{"type":27,"value":5226},{"type":21,"tag":114,"props":6429,"children":6430},{},[6431],{"type":21,"tag":118,"props":6432,"children":6433},{"href":128},[6434],{"type":27,"value":128},{"type":21,"tag":35,"props":6436,"children":6437},{"id":133},[6438],{"type":27,"value":133},{"type":21,"tag":29,"props":6440,"children":6441},{},[6442],{"type":27,"value":6443},"根据 API 返回 JSON 生成 OpenAPI/Swagger 规范片段，用于接口文档化。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":6445,"children":6446},{},[6447],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":6449},[6450,6451,6452,6453,6454],{"id":6198,"depth":148,"text":6198},{"id":815,"depth":148,"text":815},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-to-openapi.md","blog/json-to-openapi.md","blog/json-to-openapi",{"_path":6459,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":6460,"description":6461,"date":11,"category":5110,"keywords":6462,"body":6466,"_type":155,"_id":6586,"_source":157,"_file":6587,"_stem":6588,"_extension":160},"/blog/json-to-protobuf","JSON 转 Protobuf 教程","根据 JSON 生成 Protobuf 消息定义，用于 gRPC 与跨语言序列化。",[6463,6464,6465],"json转protobuf","protobuf","grpc",{"type":18,"children":6467,"toc":6579},[6468,6473,6478,6482,6487,6491,6496,6500,6545,6549,6566,6570,6575],{"type":21,"tag":22,"props":6469,"children":6471},{"id":6470},"json-转-protobuf-教程",[6472],{"type":27,"value":6460},{"type":21,"tag":29,"props":6474,"children":6475},{},[6476],{"type":27,"value":6477},"根据 JSON 生成 Protobuf message 定义，用于 gRPC 服务与高效跨语言数据交换。",{"type":21,"tag":35,"props":6479,"children":6480},{"id":5129},[6481],{"type":27,"value":5129},{"type":21,"tag":29,"props":6483,"children":6484},{},[6485],{"type":27,"value":6486},"string→string、number→int32/double、boolean→bool、array→repeated、object→嵌套 message。",{"type":21,"tag":35,"props":6488,"children":6489},{"id":636},[6490],{"type":27,"value":636},{"type":21,"tag":29,"props":6492,"children":6493},{},[6494],{"type":27,"value":6495},"Protobuf 体积更小、解析更快、跨语言，适合高性能场景。",{"type":21,"tag":35,"props":6497,"children":6498},{"id":57},[6499],{"type":27,"value":57},{"type":21,"tag":61,"props":6501,"children":6502},{"className":63,"code":5644,"language":65,"meta":8,"style":8},[6503],{"type":21,"tag":68,"props":6504,"children":6505},{"__ignoreMap":8},[6506],{"type":21,"tag":72,"props":6507,"children":6508},{"class":74,"line":75},[6509,6513,6517,6521,6525,6529,6533,6537,6541],{"type":21,"tag":72,"props":6510,"children":6511},{"style":79},[6512],{"type":27,"value":82},{"type":21,"tag":72,"props":6514,"children":6515},{"style":222},[6516],{"type":27,"value":695},{"type":21,"tag":72,"props":6518,"children":6519},{"style":79},[6520],{"type":27,"value":93},{"type":21,"tag":72,"props":6522,"children":6523},{"style":222},[6524],{"type":27,"value":235},{"type":21,"tag":72,"props":6526,"children":6527},{"style":79},[6528],{"type":27,"value":690},{"type":21,"tag":72,"props":6530,"children":6531},{"style":222},[6532],{"type":27,"value":723},{"type":21,"tag":72,"props":6534,"children":6535},{"style":79},[6536],{"type":27,"value":93},{"type":21,"tag":72,"props":6538,"children":6539},{"style":555},[6540],{"type":27,"value":732},{"type":21,"tag":72,"props":6542,"children":6543},{"style":79},[6544],{"type":27,"value":1069},{"type":21,"tag":35,"props":6546,"children":6547},{"id":106},[6548],{"type":27,"value":106},{"type":21,"tag":110,"props":6550,"children":6551},{},[6552,6559],{"type":21,"tag":114,"props":6553,"children":6554},{},[6555],{"type":21,"tag":118,"props":6556,"children":6557},{"href":5226},[6558],{"type":27,"value":5226},{"type":21,"tag":114,"props":6560,"children":6561},{},[6562],{"type":21,"tag":118,"props":6563,"children":6564},{"href":128},[6565],{"type":27,"value":128},{"type":21,"tag":35,"props":6567,"children":6568},{"id":133},[6569],{"type":27,"value":133},{"type":21,"tag":29,"props":6571,"children":6572},{},[6573],{"type":27,"value":6574},"根据 JSON 生成 Protobuf 消息定义，用于 gRPC 与跨语言序列化。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":6576,"children":6577},{},[6578],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":6580},[6581,6582,6583,6584,6585],{"id":5129,"depth":148,"text":5129},{"id":636,"depth":148,"text":636},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-to-protobuf.md","blog/json-to-protobuf.md","blog/json-to-protobuf",{"_path":6590,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":6591,"description":6592,"date":11,"category":5110,"keywords":6593,"body":6597,"_type":155,"_id":6736,"_source":157,"_file":6737,"_stem":6738,"_extension":160},"/blog/json-to-python-class","JSON 转 Python 类教程","根据 JSON 生成 Python dataclass 或 Pydantic 模型，用于 Python 后端建模。",[6594,6595,6596],"json转python","json to pydantic","python dataclass",{"type":18,"children":6598,"toc":6729},[6599,6604,6609,6613,6618,6624,6629,6633,6695,6699,6716,6720,6725],{"type":21,"tag":22,"props":6600,"children":6602},{"id":6601},"json-转-python-类教程",[6603],{"type":27,"value":6591},{"type":21,"tag":29,"props":6605,"children":6606},{},[6607],{"type":27,"value":6608},"根据 JSON 生成 Python dataclass 或 Pydantic 模型，用于 Python 后端数据校验与建模。",{"type":21,"tag":35,"props":6610,"children":6611},{"id":5129},[6612],{"type":27,"value":5129},{"type":21,"tag":29,"props":6614,"children":6615},{},[6616],{"type":27,"value":6617},"string→str、number→int/float、boolean→bool、array→list、object→嵌套类。",{"type":21,"tag":35,"props":6619,"children":6621},{"id":6620},"pydantic-优势",[6622],{"type":27,"value":6623},"Pydantic 优势",{"type":21,"tag":29,"props":6625,"children":6626},{},[6627],{"type":27,"value":6628},"Pydantic 提供运行时类型校验，适合 API 模型。",{"type":21,"tag":35,"props":6630,"children":6631},{"id":57},[6632],{"type":27,"value":57},{"type":21,"tag":61,"props":6634,"children":6636},{"className":63,"code":6635,"language":65,"meta":8,"style":8},"{\"id\": 1, \"name\": \"x\", \"tags\": [\"a\"]}\n",[6637],{"type":21,"tag":68,"props":6638,"children":6639},{"__ignoreMap":8},[6640],{"type":21,"tag":72,"props":6641,"children":6642},{"class":74,"line":75},[6643,6647,6651,6655,6659,6663,6667,6671,6675,6679,6683,6687,6691],{"type":21,"tag":72,"props":6644,"children":6645},{"style":79},[6646],{"type":27,"value":82},{"type":21,"tag":72,"props":6648,"children":6649},{"style":222},[6650],{"type":27,"value":695},{"type":21,"tag":72,"props":6652,"children":6653},{"style":79},[6654],{"type":27,"value":93},{"type":21,"tag":72,"props":6656,"children":6657},{"style":222},[6658],{"type":27,"value":235},{"type":21,"tag":72,"props":6660,"children":6661},{"style":79},[6662],{"type":27,"value":690},{"type":21,"tag":72,"props":6664,"children":6665},{"style":222},[6666],{"type":27,"value":723},{"type":21,"tag":72,"props":6668,"children":6669},{"style":79},[6670],{"type":27,"value":93},{"type":21,"tag":72,"props":6672,"children":6673},{"style":555},[6674],{"type":27,"value":732},{"type":21,"tag":72,"props":6676,"children":6677},{"style":79},[6678],{"type":27,"value":690},{"type":21,"tag":72,"props":6680,"children":6681},{"style":222},[6682],{"type":27,"value":2245},{"type":21,"tag":72,"props":6684,"children":6685},{"style":79},[6686],{"type":27,"value":1944},{"type":21,"tag":72,"props":6688,"children":6689},{"style":555},[6690],{"type":27,"value":225},{"type":21,"tag":72,"props":6692,"children":6693},{"style":79},[6694],{"type":27,"value":4917},{"type":21,"tag":35,"props":6696,"children":6697},{"id":106},[6698],{"type":27,"value":106},{"type":21,"tag":110,"props":6700,"children":6701},{},[6702,6709],{"type":21,"tag":114,"props":6703,"children":6704},{},[6705],{"type":21,"tag":118,"props":6706,"children":6707},{"href":5226},[6708],{"type":27,"value":5226},{"type":21,"tag":114,"props":6710,"children":6711},{},[6712],{"type":21,"tag":118,"props":6713,"children":6714},{"href":128},[6715],{"type":27,"value":128},{"type":21,"tag":35,"props":6717,"children":6718},{"id":133},[6719],{"type":27,"value":133},{"type":21,"tag":29,"props":6721,"children":6722},{},[6723],{"type":27,"value":6724},"根据 JSON 生成 Python dataclass 或 Pydantic 模型，用于 Python 后端建模。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":6726,"children":6727},{},[6728],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":6730},[6731,6732,6733,6734,6735],{"id":5129,"depth":148,"text":5129},{"id":6620,"depth":148,"text":6623},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-to-python-class.md","blog/json-to-python-class.md","blog/json-to-python-class",{"_path":6740,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":6741,"description":6742,"date":11,"category":5110,"keywords":6743,"body":6747,"_type":155,"_id":6876,"_source":157,"_file":6877,"_stem":6878,"_extension":160},"/blog/json-to-rust-struct","JSON 转 Rust struct 教程","根据 JSON 生成 Rust 结构体与 serde derive，用于 Rust 后端建模。",[6744,6745,6746],"json转rust","json to rust","serde",{"type":18,"children":6748,"toc":6869},[6749,6754,6759,6763,6768,6774,6786,6790,6835,6839,6856,6860,6865],{"type":21,"tag":22,"props":6750,"children":6752},{"id":6751},"json-转-rust-struct-教程",[6753],{"type":27,"value":6741},{"type":21,"tag":29,"props":6755,"children":6756},{},[6757],{"type":27,"value":6758},"根据 JSON 生成 Rust 结构体，自动添加 serde derive 宏，用于 Rust 序列化。",{"type":21,"tag":35,"props":6760,"children":6761},{"id":5129},[6762],{"type":27,"value":5129},{"type":21,"tag":29,"props":6764,"children":6765},{},[6766],{"type":27,"value":6767},"string→String、number→i64/f64、boolean→bool、array→Vec、object→嵌套 struct。",{"type":21,"tag":35,"props":6769,"children":6771},{"id":6770},"serde-配置",[6772],{"type":27,"value":6773},"serde 配置",{"type":21,"tag":29,"props":6775,"children":6776},{},[6777,6779,6784],{"type":27,"value":6778},"生成 #",{"type":21,"tag":72,"props":6780,"children":6781},{},[6782],{"type":27,"value":6783},"derive(Serialize, Deserialize)",{"type":27,"value":6785}," 与 rename_all 处理命名。",{"type":21,"tag":35,"props":6787,"children":6788},{"id":57},[6789],{"type":27,"value":57},{"type":21,"tag":61,"props":6791,"children":6792},{"className":63,"code":5644,"language":65,"meta":8,"style":8},[6793],{"type":21,"tag":68,"props":6794,"children":6795},{"__ignoreMap":8},[6796],{"type":21,"tag":72,"props":6797,"children":6798},{"class":74,"line":75},[6799,6803,6807,6811,6815,6819,6823,6827,6831],{"type":21,"tag":72,"props":6800,"children":6801},{"style":79},[6802],{"type":27,"value":82},{"type":21,"tag":72,"props":6804,"children":6805},{"style":222},[6806],{"type":27,"value":695},{"type":21,"tag":72,"props":6808,"children":6809},{"style":79},[6810],{"type":27,"value":93},{"type":21,"tag":72,"props":6812,"children":6813},{"style":222},[6814],{"type":27,"value":235},{"type":21,"tag":72,"props":6816,"children":6817},{"style":79},[6818],{"type":27,"value":690},{"type":21,"tag":72,"props":6820,"children":6821},{"style":222},[6822],{"type":27,"value":723},{"type":21,"tag":72,"props":6824,"children":6825},{"style":79},[6826],{"type":27,"value":93},{"type":21,"tag":72,"props":6828,"children":6829},{"style":555},[6830],{"type":27,"value":732},{"type":21,"tag":72,"props":6832,"children":6833},{"style":79},[6834],{"type":27,"value":1069},{"type":21,"tag":35,"props":6836,"children":6837},{"id":106},[6838],{"type":27,"value":106},{"type":21,"tag":110,"props":6840,"children":6841},{},[6842,6849],{"type":21,"tag":114,"props":6843,"children":6844},{},[6845],{"type":21,"tag":118,"props":6846,"children":6847},{"href":5226},[6848],{"type":27,"value":5226},{"type":21,"tag":114,"props":6850,"children":6851},{},[6852],{"type":21,"tag":118,"props":6853,"children":6854},{"href":128},[6855],{"type":27,"value":128},{"type":21,"tag":35,"props":6857,"children":6858},{"id":133},[6859],{"type":27,"value":133},{"type":21,"tag":29,"props":6861,"children":6862},{},[6863],{"type":27,"value":6864},"根据 JSON 生成 Rust 结构体与 serde derive，用于 Rust 后端建模。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":6866,"children":6867},{},[6868],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":6870},[6871,6872,6873,6874,6875],{"id":5129,"depth":148,"text":5129},{"id":6770,"depth":148,"text":6773},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-to-rust-struct.md","blog/json-to-rust-struct.md","blog/json-to-rust-struct",{"_path":6880,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":6881,"description":6882,"date":11,"category":165,"keywords":6883,"body":6887,"_type":155,"_id":7029,"_source":157,"_file":7030,"_stem":7031,"_extension":160},"/blog/json-to-sql-tutorial","JSON 转 SQL 建表语句教程","根据 JSON 结构生成 SQL CREATE TABLE 语句，推断字段类型，快速建表。",[6884,6885,6886],"json转sql","json to sql","json建表",{"type":18,"children":6888,"toc":7022},[6889,6894,6899,6904,6909,6914,6919,6923,6987,6991,7009,7013,7018],{"type":21,"tag":22,"props":6890,"children":6892},{"id":6891},"json-转-sql-建表语句教程",[6893],{"type":27,"value":6881},{"type":21,"tag":29,"props":6895,"children":6896},{},[6897],{"type":27,"value":6898},"根据 JSON 结构生成 SQL CREATE TABLE 语句，自动推断列类型，用于快速建表与数据建模。",{"type":21,"tag":35,"props":6900,"children":6902},{"id":6901},"类型推断",[6903],{"type":27,"value":6901},{"type":21,"tag":29,"props":6905,"children":6906},{},[6907],{"type":27,"value":6908},"string→VARCHAR/TEXT、number→INT/BIGINT、boolean→TINYINT、日期→DATETIME。",{"type":21,"tag":35,"props":6910,"children":6912},{"id":6911},"适用场景",[6913],{"type":27,"value":6911},{"type":21,"tag":29,"props":6915,"children":6916},{},[6917],{"type":27,"value":6918},"快速为 JSON 数据设计表结构，导入数据库存储。",{"type":21,"tag":35,"props":6920,"children":6921},{"id":57},[6922],{"type":27,"value":57},{"type":21,"tag":61,"props":6924,"children":6926},{"className":63,"code":6925,"language":65,"meta":8,"style":8},"{\"id\": 1, \"name\": \"x\", \"created_at\": \"2026-01-01\"}\n",[6927],{"type":21,"tag":68,"props":6928,"children":6929},{"__ignoreMap":8},[6930],{"type":21,"tag":72,"props":6931,"children":6932},{"class":74,"line":75},[6933,6937,6941,6945,6949,6953,6957,6961,6965,6969,6974,6978,6983],{"type":21,"tag":72,"props":6934,"children":6935},{"style":79},[6936],{"type":27,"value":82},{"type":21,"tag":72,"props":6938,"children":6939},{"style":222},[6940],{"type":27,"value":695},{"type":21,"tag":72,"props":6942,"children":6943},{"style":79},[6944],{"type":27,"value":93},{"type":21,"tag":72,"props":6946,"children":6947},{"style":222},[6948],{"type":27,"value":235},{"type":21,"tag":72,"props":6950,"children":6951},{"style":79},[6952],{"type":27,"value":690},{"type":21,"tag":72,"props":6954,"children":6955},{"style":222},[6956],{"type":27,"value":723},{"type":21,"tag":72,"props":6958,"children":6959},{"style":79},[6960],{"type":27,"value":93},{"type":21,"tag":72,"props":6962,"children":6963},{"style":555},[6964],{"type":27,"value":732},{"type":21,"tag":72,"props":6966,"children":6967},{"style":79},[6968],{"type":27,"value":690},{"type":21,"tag":72,"props":6970,"children":6971},{"style":222},[6972],{"type":27,"value":6973},"\"created_at\"",{"type":21,"tag":72,"props":6975,"children":6976},{"style":79},[6977],{"type":27,"value":93},{"type":21,"tag":72,"props":6979,"children":6980},{"style":555},[6981],{"type":27,"value":6982},"\"2026-01-01\"",{"type":21,"tag":72,"props":6984,"children":6985},{"style":79},[6986],{"type":27,"value":1069},{"type":21,"tag":35,"props":6988,"children":6989},{"id":106},[6990],{"type":27,"value":106},{"type":21,"tag":110,"props":6992,"children":6993},{},[6994,7002],{"type":21,"tag":114,"props":6995,"children":6996},{},[6997],{"type":21,"tag":118,"props":6998,"children":7000},{"href":6999},"/codegen/sql",[7001],{"type":27,"value":6999},{"type":21,"tag":114,"props":7003,"children":7004},{},[7005],{"type":21,"tag":118,"props":7006,"children":7007},{"href":128},[7008],{"type":27,"value":128},{"type":21,"tag":35,"props":7010,"children":7011},{"id":133},[7012],{"type":27,"value":133},{"type":21,"tag":29,"props":7014,"children":7015},{},[7016],{"type":27,"value":7017},"根据 JSON 结构生成 SQL CREATE TABLE 语句，推断字段类型，快速建表。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":7019,"children":7020},{},[7021],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":7023},[7024,7025,7026,7027,7028],{"id":6901,"depth":148,"text":6901},{"id":6911,"depth":148,"text":6911},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-to-sql-tutorial.md","blog/json-to-sql-tutorial.md","blog/json-to-sql-tutorial",{"_path":7033,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":7034,"description":7035,"date":11,"category":165,"keywords":7036,"body":7040,"_type":155,"_id":7178,"_source":157,"_file":7179,"_stem":7180,"_extension":160},"/blog/json-to-typescript-tutorial","JSON 转 TypeScript 接口教程","根据 JSON 自动生成 TypeScript interface 或 type，省去手写类型定义。",[7037,7038,7039],"json转typescript","json to ts","json to interface",{"type":18,"children":7041,"toc":7171},[7042,7047,7052,7057,7062,7066,7071,7075,7136,7140,7158,7162,7167],{"type":21,"tag":22,"props":7043,"children":7045},{"id":7044},"json-转-typescript-接口教程",[7046],{"type":27,"value":7034},{"type":21,"tag":29,"props":7048,"children":7049},{},[7050],{"type":27,"value":7051},"根据 JSON 样本自动推断并生成 TypeScript 接口类型，省去手写 type 定义，提升开发效率。",{"type":21,"tag":35,"props":7053,"children":7055},{"id":7054},"生成原理",[7056],{"type":27,"value":7054},{"type":21,"tag":29,"props":7058,"children":7059},{},[7060],{"type":27,"value":7061},"遍历 JSON 结构，对象生成 interface，数组推断联合类型，基本类型映射 TS 类型。",{"type":21,"tag":35,"props":7063,"children":7064},{"id":2783},[7065],{"type":27,"value":2783},{"type":21,"tag":29,"props":7067,"children":7068},{},[7069],{"type":27,"value":7070},"提供有代表性的样本，确保类型推断准确；可设 readonly、export 选项。",{"type":21,"tag":35,"props":7072,"children":7073},{"id":57},[7074],{"type":27,"value":57},{"type":21,"tag":61,"props":7076,"children":7077},{"className":63,"code":6635,"language":65,"meta":8,"style":8},[7078],{"type":21,"tag":68,"props":7079,"children":7080},{"__ignoreMap":8},[7081],{"type":21,"tag":72,"props":7082,"children":7083},{"class":74,"line":75},[7084,7088,7092,7096,7100,7104,7108,7112,7116,7120,7124,7128,7132],{"type":21,"tag":72,"props":7085,"children":7086},{"style":79},[7087],{"type":27,"value":82},{"type":21,"tag":72,"props":7089,"children":7090},{"style":222},[7091],{"type":27,"value":695},{"type":21,"tag":72,"props":7093,"children":7094},{"style":79},[7095],{"type":27,"value":93},{"type":21,"tag":72,"props":7097,"children":7098},{"style":222},[7099],{"type":27,"value":235},{"type":21,"tag":72,"props":7101,"children":7102},{"style":79},[7103],{"type":27,"value":690},{"type":21,"tag":72,"props":7105,"children":7106},{"style":222},[7107],{"type":27,"value":723},{"type":21,"tag":72,"props":7109,"children":7110},{"style":79},[7111],{"type":27,"value":93},{"type":21,"tag":72,"props":7113,"children":7114},{"style":555},[7115],{"type":27,"value":732},{"type":21,"tag":72,"props":7117,"children":7118},{"style":79},[7119],{"type":27,"value":690},{"type":21,"tag":72,"props":7121,"children":7122},{"style":222},[7123],{"type":27,"value":2245},{"type":21,"tag":72,"props":7125,"children":7126},{"style":79},[7127],{"type":27,"value":1944},{"type":21,"tag":72,"props":7129,"children":7130},{"style":555},[7131],{"type":27,"value":225},{"type":21,"tag":72,"props":7133,"children":7134},{"style":79},[7135],{"type":27,"value":4917},{"type":21,"tag":35,"props":7137,"children":7138},{"id":106},[7139],{"type":27,"value":106},{"type":21,"tag":110,"props":7141,"children":7142},{},[7143,7151],{"type":21,"tag":114,"props":7144,"children":7145},{},[7146],{"type":21,"tag":118,"props":7147,"children":7149},{"href":7148},"/codegen/typescript",[7150],{"type":27,"value":7148},{"type":21,"tag":114,"props":7152,"children":7153},{},[7154],{"type":21,"tag":118,"props":7155,"children":7156},{"href":128},[7157],{"type":27,"value":128},{"type":21,"tag":35,"props":7159,"children":7160},{"id":133},[7161],{"type":27,"value":133},{"type":21,"tag":29,"props":7163,"children":7164},{},[7165],{"type":27,"value":7166},"根据 JSON 自动生成 TypeScript interface 或 type，省去手写类型定义。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":7168,"children":7169},{},[7170],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":7172},[7173,7174,7175,7176,7177],{"id":7054,"depth":148,"text":7054},{"id":2783,"depth":148,"text":2783},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-to-typescript-tutorial.md","blog/json-to-typescript-tutorial.md","blog/json-to-typescript-tutorial",{"_path":7182,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":7183,"description":7184,"date":11,"category":165,"keywords":7185,"body":7189,"_type":155,"_id":7321,"_source":157,"_file":7322,"_stem":7323,"_extension":160},"/blog/json-to-xml-tutorial","JSON 转 XML 教程","JSON 转 XML 用于与遗留系统交互，本文介绍转换规则与属性处理。",[7186,7187,7188],"json转xml","json to xml","xml转换",{"type":18,"children":7190,"toc":7314},[7191,7196,7201,7205,7210,7215,7220,7224,7279,7283,7301,7305,7310],{"type":21,"tag":22,"props":7192,"children":7194},{"id":7193},"json-转-xml-教程",[7195],{"type":27,"value":7183},{"type":21,"tag":29,"props":7197,"children":7198},{},[7199],{"type":27,"value":7200},"将 JSON 转为 XML 用于与遗留 Web Service 或配置系统交互，需注意结构映射。",{"type":21,"tag":35,"props":7202,"children":7203},{"id":6033},[7204],{"type":27,"value":6033},{"type":21,"tag":29,"props":7206,"children":7207},{},[7208],{"type":27,"value":7209},"对象转元素、键转子元素或属性、数组转重复元素、值转文本节点。",{"type":21,"tag":35,"props":7211,"children":7213},{"id":7212},"局限",[7214],{"type":27,"value":7212},{"type":21,"tag":29,"props":7216,"children":7217},{},[7218],{"type":27,"value":7219},"JSON 无属性概念，转 XML 时键名既可作元素也可作属性，需约定。",{"type":21,"tag":35,"props":7221,"children":7222},{"id":57},[7223],{"type":27,"value":57},{"type":21,"tag":61,"props":7225,"children":7227},{"className":63,"code":7226,"language":65,"meta":8,"style":8},"{\"person\": {\"name\": \"张三\", \"age\": 28}}\n",[7228],{"type":21,"tag":68,"props":7229,"children":7230},{"__ignoreMap":8},[7231],{"type":21,"tag":72,"props":7232,"children":7233},{"class":74,"line":75},[7234,7238,7243,7247,7251,7255,7259,7263,7267,7271,7275],{"type":21,"tag":72,"props":7235,"children":7236},{"style":79},[7237],{"type":27,"value":82},{"type":21,"tag":72,"props":7239,"children":7240},{"style":222},[7241],{"type":27,"value":7242},"\"person\"",{"type":21,"tag":72,"props":7244,"children":7245},{"style":79},[7246],{"type":27,"value":718},{"type":21,"tag":72,"props":7248,"children":7249},{"style":222},[7250],{"type":27,"value":723},{"type":21,"tag":72,"props":7252,"children":7253},{"style":79},[7254],{"type":27,"value":93},{"type":21,"tag":72,"props":7256,"children":7257},{"style":555},[7258],{"type":27,"value":4867},{"type":21,"tag":72,"props":7260,"children":7261},{"style":79},[7262],{"type":27,"value":690},{"type":21,"tag":72,"props":7264,"children":7265},{"style":222},[7266],{"type":27,"value":4876},{"type":21,"tag":72,"props":7268,"children":7269},{"style":79},[7270],{"type":27,"value":93},{"type":21,"tag":72,"props":7272,"children":7273},{"style":222},[7274],{"type":27,"value":4885},{"type":21,"tag":72,"props":7276,"children":7277},{"style":79},[7278],{"type":27,"value":269},{"type":21,"tag":35,"props":7280,"children":7281},{"id":106},[7282],{"type":27,"value":106},{"type":21,"tag":110,"props":7284,"children":7285},{},[7286,7294],{"type":21,"tag":114,"props":7287,"children":7288},{},[7289],{"type":21,"tag":118,"props":7290,"children":7292},{"href":7291},"/convert/xml",[7293],{"type":27,"value":7291},{"type":21,"tag":114,"props":7295,"children":7296},{},[7297],{"type":21,"tag":118,"props":7298,"children":7299},{"href":128},[7300],{"type":27,"value":128},{"type":21,"tag":35,"props":7302,"children":7303},{"id":133},[7304],{"type":27,"value":133},{"type":21,"tag":29,"props":7306,"children":7307},{},[7308],{"type":27,"value":7309},"JSON 转 XML 用于与遗留系统交互，本文介绍转换规则与属性处理。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":7311,"children":7312},{},[7313],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":7315},[7316,7317,7318,7319,7320],{"id":6033,"depth":148,"text":6033},{"id":7212,"depth":148,"text":7212},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-to-xml-tutorial.md","blog/json-to-xml-tutorial.md","blog/json-to-xml-tutorial",{"_path":7325,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":7326,"description":7327,"date":11,"category":165,"keywords":7328,"body":7332,"_type":155,"_id":7467,"_source":157,"_file":7468,"_stem":7469,"_extension":160},"/blog/json-to-yaml-tutorial","JSON 转 YAML 教程","将 JSON 转换为 YAML 可获得更简洁的配置格式，本文介绍转换方法与注意事项。",[7329,7330,7331],"json转yaml","json to yaml","yaml转换",{"type":18,"children":7333,"toc":7460},[7334,7339,7344,7348,7353,7357,7362,7366,7425,7429,7447,7451,7456],{"type":21,"tag":22,"props":7335,"children":7337},{"id":7336},"json-转-yaml-教程",[7338],{"type":27,"value":7326},{"type":21,"tag":29,"props":7340,"children":7341},{},[7342],{"type":27,"value":7343},"将 JSON 转为 YAML 可去除括号引号，用缩进表示层级，更适合配置文件。",{"type":21,"tag":35,"props":7345,"children":7346},{"id":6033},[7347],{"type":27,"value":6033},{"type":21,"tag":29,"props":7349,"children":7350},{},[7351],{"type":27,"value":7352},"对象转 YAML 键值对、数组转列表、字符串去引号、布尔数字原样。",{"type":21,"tag":35,"props":7354,"children":7355},{"id":4520},[7356],{"type":27,"value":4520},{"type":21,"tag":29,"props":7358,"children":7359},{},[7360],{"type":27,"value":7361},"YAML 对缩进敏感，转换后需检查缩进；特殊字符可能仍需引号。",{"type":21,"tag":35,"props":7363,"children":7364},{"id":57},[7365],{"type":27,"value":57},{"type":21,"tag":61,"props":7367,"children":7369},{"className":63,"code":7368,"language":65,"meta":8,"style":8},"{\"server\": {\"port\": 8080, \"host\": \"localhost\"}}\n",[7370],{"type":21,"tag":68,"props":7371,"children":7372},{"__ignoreMap":8},[7373],{"type":21,"tag":72,"props":7374,"children":7375},{"class":74,"line":75},[7376,7380,7385,7389,7394,7398,7403,7407,7412,7416,7421],{"type":21,"tag":72,"props":7377,"children":7378},{"style":79},[7379],{"type":27,"value":82},{"type":21,"tag":72,"props":7381,"children":7382},{"style":222},[7383],{"type":27,"value":7384},"\"server\"",{"type":21,"tag":72,"props":7386,"children":7387},{"style":79},[7388],{"type":27,"value":718},{"type":21,"tag":72,"props":7390,"children":7391},{"style":222},[7392],{"type":27,"value":7393},"\"port\"",{"type":21,"tag":72,"props":7395,"children":7396},{"style":79},[7397],{"type":27,"value":93},{"type":21,"tag":72,"props":7399,"children":7400},{"style":222},[7401],{"type":27,"value":7402},"8080",{"type":21,"tag":72,"props":7404,"children":7405},{"style":79},[7406],{"type":27,"value":690},{"type":21,"tag":72,"props":7408,"children":7409},{"style":222},[7410],{"type":27,"value":7411},"\"host\"",{"type":21,"tag":72,"props":7413,"children":7414},{"style":79},[7415],{"type":27,"value":93},{"type":21,"tag":72,"props":7417,"children":7418},{"style":555},[7419],{"type":27,"value":7420},"\"localhost\"",{"type":21,"tag":72,"props":7422,"children":7423},{"style":79},[7424],{"type":27,"value":269},{"type":21,"tag":35,"props":7426,"children":7427},{"id":106},[7428],{"type":27,"value":106},{"type":21,"tag":110,"props":7430,"children":7431},{},[7432,7440],{"type":21,"tag":114,"props":7433,"children":7434},{},[7435],{"type":21,"tag":118,"props":7436,"children":7438},{"href":7437},"/convert/yaml",[7439],{"type":27,"value":7437},{"type":21,"tag":114,"props":7441,"children":7442},{},[7443],{"type":21,"tag":118,"props":7444,"children":7445},{"href":128},[7446],{"type":27,"value":128},{"type":21,"tag":35,"props":7448,"children":7449},{"id":133},[7450],{"type":27,"value":133},{"type":21,"tag":29,"props":7452,"children":7453},{},[7454],{"type":27,"value":7455},"将 JSON 转换为 YAML 可获得更简洁的配置格式，本文介绍转换方法与注意事项。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":7457,"children":7458},{},[7459],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":7461},[7462,7463,7464,7465,7466],{"id":6033,"depth":148,"text":6033},{"id":4520,"depth":148,"text":4520},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-to-yaml-tutorial.md","blog/json-to-yaml-tutorial.md","blog/json-to-yaml-tutorial",{"_path":7471,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":7472,"description":7473,"date":11,"category":165,"keywords":7474,"body":7478,"_type":155,"_id":7622,"_source":157,"_file":7623,"_stem":7624,"_extension":160},"/blog/json-tree-viewer-guide","JSON 树查看器使用指南","JSON 树查看器将 JSON 以可折叠树形展示，支持搜索与路径复制，适合查看大型嵌套 JSON。",[7475,7476,7477],"json树","json viewer","json查看器",{"type":18,"children":7479,"toc":7615},[7480,7485,7490,7495,7500,7504,7509,7513,7581,7585,7602,7606,7611],{"type":21,"tag":22,"props":7481,"children":7483},{"id":7482},"json-树查看器使用指南",[7484],{"type":27,"value":7472},{"type":21,"tag":29,"props":7486,"children":7487},{},[7488],{"type":27,"value":7489},"JSON 树查看器将 JSON 渲染为可折叠的树形结构，层级一目了然，特别适合查看大型嵌套 JSON。",{"type":21,"tag":35,"props":7491,"children":7493},{"id":7492},"核心功能",[7494],{"type":27,"value":7492},{"type":21,"tag":29,"props":7496,"children":7497},{},[7498],{"type":27,"value":7499},"折叠展开节点、搜索键名高亮、点击复制 JSONPath 路径，快速定位数据。",{"type":21,"tag":35,"props":7501,"children":7502},{"id":6911},[7503],{"type":27,"value":6911},{"type":21,"tag":29,"props":7505,"children":7506},{},[7507],{"type":27,"value":7508},"查看 API 返回、调试嵌套配置、分析复杂数据结构。",{"type":21,"tag":35,"props":7510,"children":7511},{"id":57},[7512],{"type":27,"value":57},{"type":21,"tag":61,"props":7514,"children":7516},{"className":63,"code":7515,"language":65,"meta":8,"style":8},"{\"store\": {\"book\": [{\"title\": \"A\", \"price\": 12}]}}\n",[7517],{"type":21,"tag":68,"props":7518,"children":7519},{"__ignoreMap":8},[7520],{"type":21,"tag":72,"props":7521,"children":7522},{"class":74,"line":75},[7523,7527,7532,7536,7541,7545,7550,7554,7559,7563,7567,7571,7576],{"type":21,"tag":72,"props":7524,"children":7525},{"style":79},[7526],{"type":27,"value":82},{"type":21,"tag":72,"props":7528,"children":7529},{"style":222},[7530],{"type":27,"value":7531},"\"store\"",{"type":21,"tag":72,"props":7533,"children":7534},{"style":79},[7535],{"type":27,"value":718},{"type":21,"tag":72,"props":7537,"children":7538},{"style":222},[7539],{"type":27,"value":7540},"\"book\"",{"type":21,"tag":72,"props":7542,"children":7543},{"style":79},[7544],{"type":27,"value":671},{"type":21,"tag":72,"props":7546,"children":7547},{"style":222},[7548],{"type":27,"value":7549},"\"title\"",{"type":21,"tag":72,"props":7551,"children":7552},{"style":79},[7553],{"type":27,"value":93},{"type":21,"tag":72,"props":7555,"children":7556},{"style":555},[7557],{"type":27,"value":7558},"\"A\"",{"type":21,"tag":72,"props":7560,"children":7561},{"style":79},[7562],{"type":27,"value":690},{"type":21,"tag":72,"props":7564,"children":7565},{"style":222},[7566],{"type":27,"value":5200},{"type":21,"tag":72,"props":7568,"children":7569},{"style":79},[7570],{"type":27,"value":93},{"type":21,"tag":72,"props":7572,"children":7573},{"style":222},[7574],{"type":27,"value":7575},"12",{"type":21,"tag":72,"props":7577,"children":7578},{"style":79},[7579],{"type":27,"value":7580},"}]}}\n",{"type":21,"tag":35,"props":7582,"children":7583},{"id":106},[7584],{"type":27,"value":106},{"type":21,"tag":110,"props":7586,"children":7587},{},[7588,7595],{"type":21,"tag":114,"props":7589,"children":7590},{},[7591],{"type":21,"tag":118,"props":7592,"children":7593},{"href":928},[7594],{"type":27,"value":928},{"type":21,"tag":114,"props":7596,"children":7597},{},[7598],{"type":21,"tag":118,"props":7599,"children":7600},{"href":3997},[7601],{"type":27,"value":3997},{"type":21,"tag":35,"props":7603,"children":7604},{"id":133},[7605],{"type":27,"value":133},{"type":21,"tag":29,"props":7607,"children":7608},{},[7609],{"type":27,"value":7610},"JSON 树查看器将 JSON 以可折叠树形展示，支持搜索与路径复制，适合查看大型嵌套 JSON。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":7612,"children":7613},{},[7614],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":7616},[7617,7618,7619,7620,7621],{"id":7492,"depth":148,"text":7492},{"id":6911,"depth":148,"text":6911},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-tree-viewer-guide.md","blog/json-tree-viewer-guide.md","blog/json-tree-viewer-guide",{"_path":7626,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":7627,"description":7628,"date":11,"category":786,"keywords":7629,"body":7632,"_type":155,"_id":7757,"_source":157,"_file":7758,"_stem":7759,"_extension":160},"/blog/json-vs-csv","JSON 与 CSV 对比","CSV 是表格数据格式，JSON 更灵活。扁平表格用 CSV 更紧凑，嵌套数据用 JSON。",[7630,7631,5264],"json vs csv","csv转json",{"type":18,"children":7633,"toc":7750},[7634,7639,7644,7648,7653,7658,7663,7667,7716,7720,7737,7741,7746],{"type":21,"tag":22,"props":7635,"children":7637},{"id":7636},"json-与-csv-对比",[7638],{"type":27,"value":7627},{"type":21,"tag":29,"props":7640,"children":7641},{},[7642],{"type":27,"value":7643},"CSV 是逗号分隔的表格格式，适合扁平结构化数据；JSON 适合嵌套与混合类型。",{"type":21,"tag":35,"props":7645,"children":7646},{"id":6911},[7647],{"type":27,"value":6911},{"type":21,"tag":29,"props":7649,"children":7650},{},[7651],{"type":27,"value":7652},"CSV 适合导出 Excel、数据库表、扁平数据；JSON 适合 API、嵌套结构、配置。",{"type":21,"tag":35,"props":7654,"children":7656},{"id":7655},"互转注意",[7657],{"type":27,"value":7655},{"type":21,"tag":29,"props":7659,"children":7660},{},[7661],{"type":27,"value":7662},"JSON 转 CSV 仅适合数组对象结构，嵌套数据需先扁平化。",{"type":21,"tag":35,"props":7664,"children":7665},{"id":57},[7666],{"type":27,"value":57},{"type":21,"tag":61,"props":7668,"children":7670},{"className":63,"code":7669,"language":65,"meta":8,"style":8},"id,name,age\n1,张三,28\n2,李四,30\n",[7671],{"type":21,"tag":68,"props":7672,"children":7673},{"__ignoreMap":8},[7674,7682,7699],{"type":21,"tag":72,"props":7675,"children":7676},{"class":74,"line":75},[7677],{"type":21,"tag":72,"props":7678,"children":7679},{"style":79},[7680],{"type":27,"value":7681},"id,name,age\n",{"type":21,"tag":72,"props":7683,"children":7684},{"class":74,"line":148},[7685,7689,7694],{"type":21,"tag":72,"props":7686,"children":7687},{"style":222},[7688],{"type":27,"value":235},{"type":21,"tag":72,"props":7690,"children":7691},{"style":79},[7692],{"type":27,"value":7693},",张三,",{"type":21,"tag":72,"props":7695,"children":7696},{"style":222},[7697],{"type":27,"value":7698},"28\n",{"type":21,"tag":72,"props":7700,"children":7701},{"class":74,"line":1036},[7702,7706,7711],{"type":21,"tag":72,"props":7703,"children":7704},{"style":222},[7705],{"type":27,"value":264},{"type":21,"tag":72,"props":7707,"children":7708},{"style":79},[7709],{"type":27,"value":7710},",李四,",{"type":21,"tag":72,"props":7712,"children":7713},{"style":222},[7714],{"type":27,"value":7715},"30\n",{"type":21,"tag":35,"props":7717,"children":7718},{"id":106},[7719],{"type":27,"value":106},{"type":21,"tag":110,"props":7721,"children":7722},{},[7723,7730],{"type":21,"tag":114,"props":7724,"children":7725},{},[7726],{"type":21,"tag":118,"props":7727,"children":7728},{"href":2279},[7729],{"type":27,"value":2279},{"type":21,"tag":114,"props":7731,"children":7732},{},[7733],{"type":21,"tag":118,"props":7734,"children":7735},{"href":5394},[7736],{"type":27,"value":5394},{"type":21,"tag":35,"props":7738,"children":7739},{"id":133},[7740],{"type":27,"value":133},{"type":21,"tag":29,"props":7742,"children":7743},{},[7744],{"type":27,"value":7745},"CSV 是表格数据格式，JSON 更灵活。扁平表格用 CSV 更紧凑，嵌套数据用 JSON。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":7747,"children":7748},{},[7749],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":7751},[7752,7753,7754,7755,7756],{"id":6911,"depth":148,"text":6911},{"id":7655,"depth":148,"text":7655},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-vs-csv.md","blog/json-vs-csv.md","blog/json-vs-csv",{"_path":7761,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":7762,"description":7763,"date":11,"category":786,"keywords":7764,"body":7768,"_type":155,"_id":7897,"_source":157,"_file":7898,"_stem":7899,"_extension":160},"/blog/json-vs-toml","JSON 与 TOML 对比","TOML 是语义明确的配置格式，比 JSON 更适合配置文件，支持注释与类型。",[7765,7766,7767],"json vs toml","toml","配置格式",{"type":18,"children":7769,"toc":7890},[7770,7775,7780,7786,7791,7797,7802,7806,7855,7859,7877,7881,7886],{"type":21,"tag":22,"props":7771,"children":7773},{"id":7772},"json-与-toml-对比",[7774],{"type":27,"value":7762},{"type":21,"tag":29,"props":7776,"children":7777},{},[7778],{"type":27,"value":7779},"TOML 旨在成为更好的配置文件格式，语义明确，支持注释与丰富类型。",{"type":21,"tag":35,"props":7781,"children":7783},{"id":7782},"toml-优势",[7784],{"type":27,"value":7785},"TOML 优势",{"type":21,"tag":29,"props":7787,"children":7788},{},[7789],{"type":27,"value":7790},"强类型、支持注释、日期时间类型、表结构清晰，适合复杂配置。",{"type":21,"tag":35,"props":7792,"children":7794},{"id":7793},"与-json-关系",[7795],{"type":27,"value":7796},"与 JSON 关系",{"type":21,"tag":29,"props":7798,"children":7799},{},[7800],{"type":27,"value":7801},"TOML 可转 JSON，但 JSON 不支持注释，转回会丢失。",{"type":21,"tag":35,"props":7803,"children":7804},{"id":57},[7805],{"type":27,"value":57},{"type":21,"tag":61,"props":7807,"children":7809},{"className":63,"code":7808,"language":65,"meta":8,"style":8},"[server]\nport = 8080\nhost = \"localhost\"\n",[7810],{"type":21,"tag":68,"props":7811,"children":7812},{"__ignoreMap":8},[7813,7829,7842],{"type":21,"tag":72,"props":7814,"children":7815},{"class":74,"line":75},[7816,7820,7825],{"type":21,"tag":72,"props":7817,"children":7818},{"style":79},[7819],{"type":27,"value":841},{"type":21,"tag":72,"props":7821,"children":7822},{"style":85},[7823],{"type":27,"value":7824},"server",{"type":21,"tag":72,"props":7826,"children":7827},{"style":79},[7828],{"type":27,"value":1954},{"type":21,"tag":72,"props":7830,"children":7831},{"class":74,"line":148},[7832,7837],{"type":21,"tag":72,"props":7833,"children":7834},{"style":79},[7835],{"type":27,"value":7836},"port = ",{"type":21,"tag":72,"props":7838,"children":7839},{"style":222},[7840],{"type":27,"value":7841},"8080\n",{"type":21,"tag":72,"props":7843,"children":7844},{"class":74,"line":1036},[7845,7850],{"type":21,"tag":72,"props":7846,"children":7847},{"style":79},[7848],{"type":27,"value":7849},"host = ",{"type":21,"tag":72,"props":7851,"children":7852},{"style":555},[7853],{"type":27,"value":7854},"\"localhost\"\n",{"type":21,"tag":35,"props":7856,"children":7857},{"id":106},[7858],{"type":27,"value":106},{"type":21,"tag":110,"props":7860,"children":7861},{},[7862,7869],{"type":21,"tag":114,"props":7863,"children":7864},{},[7865],{"type":21,"tag":118,"props":7866,"children":7867},{"href":128},[7868],{"type":27,"value":128},{"type":21,"tag":114,"props":7870,"children":7871},{},[7872],{"type":21,"tag":118,"props":7873,"children":7875},{"href":7874},"/convert/toml",[7876],{"type":27,"value":7874},{"type":21,"tag":35,"props":7878,"children":7879},{"id":133},[7880],{"type":27,"value":133},{"type":21,"tag":29,"props":7882,"children":7883},{},[7884],{"type":27,"value":7885},"TOML 是语义明确的配置格式，比 JSON 更适合配置文件，支持注释与类型。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":7887,"children":7888},{},[7889],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":7891},[7892,7893,7894,7895,7896],{"id":7782,"depth":148,"text":7785},{"id":7793,"depth":148,"text":7796},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-vs-toml.md","blog/json-vs-toml.md","blog/json-vs-toml",{"_path":7901,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":7902,"description":7903,"date":11,"category":786,"keywords":7904,"body":7908,"_type":155,"_id":8038,"_source":157,"_file":8039,"_stem":8040,"_extension":160},"/blog/json-vs-xml","JSON 与 XML 对比：该用哪个","JSON 与 XML 都是数据交换格式，JSON 更轻量、XML 更强大。本文从体积、可读性、解析速度等维度对比。",[7905,7906,7907],"json vs xml","json xml对比","xml转json",{"type":18,"children":7909,"toc":8031},[7910,7915,7920,7925,7930,7935,7940,7944,7997,8001,8018,8022,8027],{"type":21,"tag":22,"props":7911,"children":7913},{"id":7912},"json-与-xml-对比该用哪个",[7914],{"type":27,"value":7902},{"type":21,"tag":29,"props":7916,"children":7917},{},[7918],{"type":27,"value":7919},"JSON 与 XML 是两种主流数据交换格式，各有优劣，选择取决于场景。",{"type":21,"tag":35,"props":7921,"children":7923},{"id":7922},"主要差异",[7924],{"type":27,"value":7922},{"type":21,"tag":29,"props":7926,"children":7927},{},[7928],{"type":27,"value":7929},"JSON 体积更小、解析更快、与 JavaScript 天然契合；XML 支持属性、命名空间、Schema 验证更完善。",{"type":21,"tag":35,"props":7931,"children":7933},{"id":7932},"选择建议",[7934],{"type":27,"value":7932},{"type":21,"tag":29,"props":7936,"children":7937},{},[7938],{"type":27,"value":7939},"Web API、前后端交互首选 JSON；需要强结构验证、文档型数据可考虑 XML。",{"type":21,"tag":35,"props":7941,"children":7942},{"id":57},[7943],{"type":27,"value":57},{"type":21,"tag":61,"props":7945,"children":7946},{"className":63,"code":7226,"language":65,"meta":8,"style":8},[7947],{"type":21,"tag":68,"props":7948,"children":7949},{"__ignoreMap":8},[7950],{"type":21,"tag":72,"props":7951,"children":7952},{"class":74,"line":75},[7953,7957,7961,7965,7969,7973,7977,7981,7985,7989,7993],{"type":21,"tag":72,"props":7954,"children":7955},{"style":79},[7956],{"type":27,"value":82},{"type":21,"tag":72,"props":7958,"children":7959},{"style":222},[7960],{"type":27,"value":7242},{"type":21,"tag":72,"props":7962,"children":7963},{"style":79},[7964],{"type":27,"value":718},{"type":21,"tag":72,"props":7966,"children":7967},{"style":222},[7968],{"type":27,"value":723},{"type":21,"tag":72,"props":7970,"children":7971},{"style":79},[7972],{"type":27,"value":93},{"type":21,"tag":72,"props":7974,"children":7975},{"style":555},[7976],{"type":27,"value":4867},{"type":21,"tag":72,"props":7978,"children":7979},{"style":79},[7980],{"type":27,"value":690},{"type":21,"tag":72,"props":7982,"children":7983},{"style":222},[7984],{"type":27,"value":4876},{"type":21,"tag":72,"props":7986,"children":7987},{"style":79},[7988],{"type":27,"value":93},{"type":21,"tag":72,"props":7990,"children":7991},{"style":222},[7992],{"type":27,"value":4885},{"type":21,"tag":72,"props":7994,"children":7995},{"style":79},[7996],{"type":27,"value":269},{"type":21,"tag":35,"props":7998,"children":7999},{"id":106},[8000],{"type":27,"value":106},{"type":21,"tag":110,"props":8002,"children":8003},{},[8004,8011],{"type":21,"tag":114,"props":8005,"children":8006},{},[8007],{"type":21,"tag":118,"props":8008,"children":8009},{"href":128},[8010],{"type":27,"value":128},{"type":21,"tag":114,"props":8012,"children":8013},{},[8014],{"type":21,"tag":118,"props":8015,"children":8016},{"href":120},[8017],{"type":27,"value":120},{"type":21,"tag":35,"props":8019,"children":8020},{"id":133},[8021],{"type":27,"value":133},{"type":21,"tag":29,"props":8023,"children":8024},{},[8025],{"type":27,"value":8026},"JSON 与 XML 都是数据交换格式，JSON 更轻量、XML 更强大。本文从体积、可读性、解析速度等维度对比。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":8028,"children":8029},{},[8030],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":8032},[8033,8034,8035,8036,8037],{"id":7922,"depth":148,"text":7922},{"id":7932,"depth":148,"text":7932},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-vs-xml.md","blog/json-vs-xml.md","blog/json-vs-xml",{"_path":8042,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":8043,"description":8044,"date":11,"category":786,"keywords":8045,"body":8048,"_type":155,"_id":8186,"_source":157,"_file":8187,"_stem":8188,"_extension":160},"/blog/json-vs-yaml","JSON 与 YAML 对比","YAML 比 JSON 更简洁，靠缩进表示层级，支持注释。配置文件常用 YAML，API 常用 JSON。",[8046,8047,7329],"json vs yaml","yaml转json",{"type":18,"children":8049,"toc":8179},[8050,8055,8060,8065,8070,8074,8079,8083,8145,8149,8166,8170,8175],{"type":21,"tag":22,"props":8051,"children":8053},{"id":8052},"json-与-yaml-对比",[8054],{"type":27,"value":8043},{"type":21,"tag":29,"props":8056,"children":8057},{},[8058],{"type":27,"value":8059},"YAML 是 JSON 的超集，用缩进而非括号表示结构，更受配置文件青睐。",{"type":21,"tag":35,"props":8061,"children":8063},{"id":8062},"语法差异",[8064],{"type":27,"value":8062},{"type":21,"tag":29,"props":8066,"children":8067},{},[8068],{"type":27,"value":8069},"YAML 用缩进表示层级，无需引号与逗号，支持注释与多行字符串；JSON 必须括号、引号、逗号。",{"type":21,"tag":35,"props":8071,"children":8072},{"id":2783},[8073],{"type":27,"value":2783},{"type":21,"tag":29,"props":8075,"children":8076},{},[8077],{"type":27,"value":8078},"配置文件用 YAML 更易读，数据交换用 JSON 更通用。可用工具互转。",{"type":21,"tag":35,"props":8080,"children":8081},{"id":57},[8082],{"type":27,"value":57},{"type":21,"tag":61,"props":8084,"children":8086},{"className":63,"code":8085,"language":65,"meta":8,"style":8},"name: JSONDog\nversion: 0.1.0\ntools:\n  - format\n  - validate\n",[8087],{"type":21,"tag":68,"props":8088,"children":8089},{"__ignoreMap":8},[8090,8098,8121,8129,8137],{"type":21,"tag":72,"props":8091,"children":8092},{"class":74,"line":75},[8093],{"type":21,"tag":72,"props":8094,"children":8095},{"style":79},[8096],{"type":27,"value":8097},"name: JSONDog\n",{"type":21,"tag":72,"props":8099,"children":8100},{"class":74,"line":148},[8101,8106,8111,8116],{"type":21,"tag":72,"props":8102,"children":8103},{"style":79},[8104],{"type":27,"value":8105},"version: ",{"type":21,"tag":72,"props":8107,"children":8108},{"style":222},[8109],{"type":27,"value":8110},"0.1",{"type":21,"tag":72,"props":8112,"children":8113},{"style":79},[8114],{"type":27,"value":8115},".",{"type":21,"tag":72,"props":8117,"children":8118},{"style":222},[8119],{"type":27,"value":8120},"0\n",{"type":21,"tag":72,"props":8122,"children":8123},{"class":74,"line":1036},[8124],{"type":21,"tag":72,"props":8125,"children":8126},{"style":79},[8127],{"type":27,"value":8128},"tools:\n",{"type":21,"tag":72,"props":8130,"children":8131},{"class":74,"line":1054},[8132],{"type":21,"tag":72,"props":8133,"children":8134},{"style":79},[8135],{"type":27,"value":8136},"  - format\n",{"type":21,"tag":72,"props":8138,"children":8139},{"class":74,"line":1063},[8140],{"type":21,"tag":72,"props":8141,"children":8142},{"style":79},[8143],{"type":27,"value":8144},"  - validate\n",{"type":21,"tag":35,"props":8146,"children":8147},{"id":106},[8148],{"type":27,"value":106},{"type":21,"tag":110,"props":8150,"children":8151},{},[8152,8159],{"type":21,"tag":114,"props":8153,"children":8154},{},[8155],{"type":21,"tag":118,"props":8156,"children":8157},{"href":128},[8158],{"type":27,"value":128},{"type":21,"tag":114,"props":8160,"children":8161},{},[8162],{"type":21,"tag":118,"props":8163,"children":8164},{"href":7437},[8165],{"type":27,"value":7437},{"type":21,"tag":35,"props":8167,"children":8168},{"id":133},[8169],{"type":27,"value":133},{"type":21,"tag":29,"props":8171,"children":8172},{},[8173],{"type":27,"value":8174},"YAML 比 JSON 更简洁，靠缩进表示层级，支持注释。配置文件常用 YAML，API 常用 JSON。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":8176,"children":8177},{},[8178],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":8180},[8181,8182,8183,8184,8185],{"id":8062,"depth":148,"text":8062},{"id":2783,"depth":148,"text":2783},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-vs-yaml.md","blog/json-vs-yaml.md","blog/json-vs-yaml",{"_path":8190,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":8191,"description":8192,"date":11,"category":607,"keywords":8193,"body":8197,"_type":155,"_id":8288,"_source":157,"_file":8289,"_stem":8290,"_extension":160},"/blog/json-web-token","JWT (JSON Web Token) 详解","JWT 是用 JSON 表示的紧凑令牌，用于身份认证与信息交换，由 header.payload.signature 组成。",[8194,8195,8196],"jwt","json web token","jwt认证",{"type":18,"children":8198,"toc":8281},[8199,8204,8209,8214,8219,8224,8229,8233,8247,8251,8268,8272,8277],{"type":21,"tag":22,"props":8200,"children":8202},{"id":8201},"jwt-json-web-token-详解",[8203],{"type":27,"value":8191},{"type":21,"tag":29,"props":8205,"children":8206},{},[8207],{"type":27,"value":8208},"JWT（JSON Web Token）是用 JSON 表示的紧凑、URL 安全的令牌，广泛用于无状态身份认证。",{"type":21,"tag":35,"props":8210,"children":8212},{"id":8211},"结构",[8213],{"type":27,"value":8211},{"type":21,"tag":29,"props":8215,"children":8216},{},[8217],{"type":27,"value":8218},"由 header、payload、signature 三部分用点号连接，每部分 Base64URL 编码的 JSON。",{"type":21,"tag":35,"props":8220,"children":8222},{"id":8221},"使用流程",[8223],{"type":27,"value":8221},{"type":21,"tag":29,"props":8225,"children":8226},{},[8227],{"type":27,"value":8228},"登录返回 JWT，客户端携带请求，服务端验签解析 payload 获取用户信息。",{"type":21,"tag":35,"props":8230,"children":8231},{"id":57},[8232],{"type":27,"value":57},{"type":21,"tag":61,"props":8234,"children":8236},{"className":63,"code":8235,"language":65,"meta":8,"style":8},"header.payload.signature\n",[8237],{"type":21,"tag":68,"props":8238,"children":8239},{"__ignoreMap":8},[8240],{"type":21,"tag":72,"props":8241,"children":8242},{"class":74,"line":75},[8243],{"type":21,"tag":72,"props":8244,"children":8245},{"style":79},[8246],{"type":27,"value":8235},{"type":21,"tag":35,"props":8248,"children":8249},{"id":106},[8250],{"type":27,"value":106},{"type":21,"tag":110,"props":8252,"children":8253},{},[8254,8261],{"type":21,"tag":114,"props":8255,"children":8256},{},[8257],{"type":21,"tag":118,"props":8258,"children":8259},{"href":2121},[8260],{"type":27,"value":2121},{"type":21,"tag":114,"props":8262,"children":8263},{},[8264],{"type":21,"tag":118,"props":8265,"children":8266},{"href":128},[8267],{"type":27,"value":128},{"type":21,"tag":35,"props":8269,"children":8270},{"id":133},[8271],{"type":27,"value":133},{"type":21,"tag":29,"props":8273,"children":8274},{},[8275],{"type":27,"value":8276},"JWT 是用 JSON 表示的紧凑令牌，用于身份认证与信息交换，由 header.payload.signature 组成。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":8278,"children":8279},{},[8280],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":8282},[8283,8284,8285,8286,8287],{"id":8211,"depth":148,"text":8211},{"id":8221,"depth":148,"text":8221},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json-web-token.md","blog/json-web-token.md","blog/json-web-token",{"_path":8292,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":8293,"description":8294,"date":11,"category":786,"keywords":8295,"body":8299,"_type":155,"_id":8458,"_source":157,"_file":8459,"_stem":8460,"_extension":160},"/blog/json5-intro","JSON5 扩展语法介绍","JSON5 是 JSON 的超集，支持注释、单引号、尾逗号、多行字符串等扩展，更易读写。",[8296,8297,8298],"json5","json5语法","json注释",{"type":18,"children":8300,"toc":8451},[8301,8306,8311,8317,8322,8327,8332,8336,8417,8421,8438,8442,8447],{"type":21,"tag":22,"props":8302,"children":8304},{"id":8303},"json5-扩展语法介绍",[8305],{"type":27,"value":8293},{"type":21,"tag":29,"props":8307,"children":8308},{},[8309],{"type":27,"value":8310},"JSON5 是 JSON 的扩展格式，在保持兼容的同时增加了注释、单引号、尾逗号等便利特性，深受开发者喜爱。",{"type":21,"tag":35,"props":8312,"children":8314},{"id":8313},"json5-扩展",[8315],{"type":27,"value":8316},"JSON5 扩展",{"type":21,"tag":29,"props":8318,"children":8319},{},[8320],{"type":27,"value":8321},"支持单行 // 与多行 /* */ 注释、单引号字符串、对象数组尾逗号、无引号键名、十六进制数字等。",{"type":21,"tag":35,"props":8323,"children":8325},{"id":8324},"兼容性",[8326],{"type":27,"value":8324},{"type":21,"tag":29,"props":8328,"children":8329},{},[8330],{"type":27,"value":8331},"JSON5 是 JSON 的超集，合法 JSON 必定是合法 JSON5，反之不成立。JSONDog 全工具支持 JSON5。",{"type":21,"tag":35,"props":8333,"children":8334},{"id":57},[8335],{"type":27,"value":57},{"type":21,"tag":61,"props":8337,"children":8339},{"className":63,"code":8338,"language":65,"meta":8,"style":8},"{\n  // 这是注释\n  name: \"JSONDog\",\n  tools: [\"format\", \"validate\",]\n}\n",[8340],{"type":21,"tag":68,"props":8341,"children":8342},{"__ignoreMap":8},[8343,8350,8359,8379,8410],{"type":21,"tag":72,"props":8344,"children":8345},{"class":74,"line":75},[8346],{"type":21,"tag":72,"props":8347,"children":8348},{"style":79},[8349],{"type":27,"value":1020},{"type":21,"tag":72,"props":8351,"children":8352},{"class":74,"line":148},[8353],{"type":21,"tag":72,"props":8354,"children":8356},{"style":8355},"--shiki-default:#6A737D",[8357],{"type":27,"value":8358},"  // 这是注释\n",{"type":21,"tag":72,"props":8360,"children":8361},{"class":74,"line":1036},[8362,8367,8371,8375],{"type":21,"tag":72,"props":8363,"children":8364},{"style":85},[8365],{"type":27,"value":8366},"  name",{"type":21,"tag":72,"props":8368,"children":8369},{"style":79},[8370],{"type":27,"value":93},{"type":21,"tag":72,"props":8372,"children":8373},{"style":555},[8374],{"type":27,"value":1926},{"type":21,"tag":72,"props":8376,"children":8377},{"style":79},[8378],{"type":27,"value":1931},{"type":21,"tag":72,"props":8380,"children":8381},{"class":74,"line":1054},[8382,8387,8391,8396,8400,8405],{"type":21,"tag":72,"props":8383,"children":8384},{"style":85},[8385],{"type":27,"value":8386},"  tools",{"type":21,"tag":72,"props":8388,"children":8389},{"style":79},[8390],{"type":27,"value":1944},{"type":21,"tag":72,"props":8392,"children":8393},{"style":555},[8394],{"type":27,"value":8395},"\"format\"",{"type":21,"tag":72,"props":8397,"children":8398},{"style":79},[8399],{"type":27,"value":690},{"type":21,"tag":72,"props":8401,"children":8402},{"style":555},[8403],{"type":27,"value":8404},"\"validate\"",{"type":21,"tag":72,"props":8406,"children":8407},{"style":79},[8408],{"type":27,"value":8409},",]\n",{"type":21,"tag":72,"props":8411,"children":8412},{"class":74,"line":1063},[8413],{"type":21,"tag":72,"props":8414,"children":8415},{"style":79},[8416],{"type":27,"value":1069},{"type":21,"tag":35,"props":8418,"children":8419},{"id":106},[8420],{"type":27,"value":106},{"type":21,"tag":110,"props":8422,"children":8423},{},[8424,8431],{"type":21,"tag":114,"props":8425,"children":8426},{},[8427],{"type":21,"tag":118,"props":8428,"children":8429},{"href":128},[8430],{"type":27,"value":128},{"type":21,"tag":114,"props":8432,"children":8433},{},[8434],{"type":21,"tag":118,"props":8435,"children":8436},{"href":120},[8437],{"type":27,"value":120},{"type":21,"tag":35,"props":8439,"children":8440},{"id":133},[8441],{"type":27,"value":133},{"type":21,"tag":29,"props":8443,"children":8444},{},[8445],{"type":27,"value":8446},"JSON5 是 JSON 的超集，支持注释、单引号、尾逗号、多行字符串等扩展，更易读写。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":8448,"children":8449},{},[8450],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":8452},[8453,8454,8455,8456,8457],{"id":8313,"depth":148,"text":8316},{"id":8324,"depth":148,"text":8324},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:json5-intro.md","blog/json5-intro.md","blog/json5-intro",{"_path":8462,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":8463,"description":8464,"date":11,"category":165,"keywords":8465,"body":8469,"_type":155,"_id":8581,"_source":157,"_file":8582,"_stem":8583,"_extension":160},"/blog/jsonpath-tutorial","JSONPath 查询语法教程","JSONPath 是按路径表达式查询 JSON 的语言，类似 XPath。本文讲解常用语法。",[8466,8467,8468],"jsonpath","json path","json查询",{"type":18,"children":8470,"toc":8574},[8471,8476,8481,8486,8502,8506,8511,8515,8540,8544,8561,8565,8570],{"type":21,"tag":22,"props":8472,"children":8474},{"id":8473},"jsonpath-查询语法教程",[8475],{"type":27,"value":8463},{"type":21,"tag":29,"props":8477,"children":8478},{},[8479],{"type":27,"value":8480},"JSONPath 是一种按路径表达式从 JSON 中提取数据的查询语言，语法类似 XPath，强大且简洁。",{"type":21,"tag":35,"props":8482,"children":8484},{"id":8483},"常用语法",[8485],{"type":27,"value":8483},{"type":21,"tag":29,"props":8487,"children":8488},{},[8489,8491,8494,8496,8500],{"type":27,"value":8490},"$ 根节点、. 子键、",{"type":21,"tag":72,"props":8492,"children":8493},{},[],{"type":27,"value":8495}," 数组索引、* 通配、.. 递归下降。如 $.store.book",{"type":21,"tag":72,"props":8497,"children":8498},{},[8499],{"type":27,"value":2659},{"type":27,"value":8501},".title。",{"type":21,"tag":35,"props":8503,"children":8504},{"id":815},[8505],{"type":27,"value":815},{"type":21,"tag":29,"props":8507,"children":8508},{},[8509],{"type":27,"value":8510},"从大型 JSON 中精确提取字段，避免手动遍历，常用于 API 数据筛选。",{"type":21,"tag":35,"props":8512,"children":8513},{"id":57},[8514],{"type":27,"value":57},{"type":21,"tag":61,"props":8516,"children":8518},{"className":63,"code":8517,"language":65,"meta":8,"style":8},"$.store.book[*].author\n",[8519],{"type":21,"tag":68,"props":8520,"children":8521},{"__ignoreMap":8},[8522],{"type":21,"tag":72,"props":8523,"children":8524},{"class":74,"line":75},[8525,8530,8535],{"type":21,"tag":72,"props":8526,"children":8527},{"style":79},[8528],{"type":27,"value":8529},"$.store.book[",{"type":21,"tag":72,"props":8531,"children":8532},{"style":85},[8533],{"type":27,"value":8534},"*",{"type":21,"tag":72,"props":8536,"children":8537},{"style":79},[8538],{"type":27,"value":8539},"].author\n",{"type":21,"tag":35,"props":8541,"children":8542},{"id":106},[8543],{"type":27,"value":106},{"type":21,"tag":110,"props":8545,"children":8546},{},[8547,8554],{"type":21,"tag":114,"props":8548,"children":8549},{},[8550],{"type":21,"tag":118,"props":8551,"children":8552},{"href":3997},[8553],{"type":27,"value":3997},{"type":21,"tag":114,"props":8555,"children":8556},{},[8557],{"type":21,"tag":118,"props":8558,"children":8559},{"href":928},[8560],{"type":27,"value":928},{"type":21,"tag":35,"props":8562,"children":8563},{"id":133},[8564],{"type":27,"value":133},{"type":21,"tag":29,"props":8566,"children":8567},{},[8568],{"type":27,"value":8569},"JSONPath 是按路径表达式查询 JSON 的语言，类似 XPath。本文讲解常用语法。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":8571,"children":8572},{},[8573],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":8575},[8576,8577,8578,8579,8580],{"id":8483,"depth":148,"text":8483},{"id":815,"depth":148,"text":815},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:jsonpath-tutorial.md","blog/jsonpath-tutorial.md","blog/jsonpath-tutorial",{"_path":8585,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":8586,"description":8587,"date":11,"category":12,"keywords":8588,"body":8590,"_type":155,"_id":8699,"_source":157,"_file":8700,"_stem":8701,"_extension":160},"/blog/large-json-files","大 JSON 文件处理技巧","处理大 JSON 文件：流式解析、分块、Web Worker、压缩，避免内存溢出。",[3813,8589,4638],"json大文件",{"type":18,"children":8591,"toc":8692},[8592,8597,8602,8607,8612,8617,8622,8626,8658,8662,8679,8683,8688],{"type":21,"tag":22,"props":8593,"children":8595},{"id":8594},"大-json-文件处理技巧",[8596],{"type":27,"value":8586},{"type":21,"tag":29,"props":8598,"children":8599},{},[8600],{"type":27,"value":8601},"处理数十 MB 以上的 JSON 文件需特殊技巧，避免内存溢出与界面卡顿。",{"type":21,"tag":35,"props":8603,"children":8605},{"id":8604},"处理策略",[8606],{"type":27,"value":8604},{"type":21,"tag":29,"props":8608,"children":8609},{},[8610],{"type":27,"value":8611},"流式解析（SAX/NDJSON）、分块加载、Web Worker 后台处理、gzip 压缩传输。",{"type":21,"tag":35,"props":8613,"children":8615},{"id":8614},"工具建议",[8616],{"type":27,"value":8614},{"type":21,"tag":29,"props":8618,"children":8619},{},[8620],{"type":27,"value":8621},"JSONDog 工具用 Web Worker 处理大文件，不阻塞界面。",{"type":21,"tag":35,"props":8623,"children":8624},{"id":57},[8625],{"type":27,"value":57},{"type":21,"tag":61,"props":8627,"children":8629},{"className":63,"code":8628,"language":65,"meta":8,"style":8},"{\"large\": \"...\"}\n",[8630],{"type":21,"tag":68,"props":8631,"children":8632},{"__ignoreMap":8},[8633],{"type":21,"tag":72,"props":8634,"children":8635},{"class":74,"line":75},[8636,8640,8645,8649,8654],{"type":21,"tag":72,"props":8637,"children":8638},{"style":79},[8639],{"type":27,"value":82},{"type":21,"tag":72,"props":8641,"children":8642},{"style":222},[8643],{"type":27,"value":8644},"\"large\"",{"type":21,"tag":72,"props":8646,"children":8647},{"style":79},[8648],{"type":27,"value":93},{"type":21,"tag":72,"props":8650,"children":8651},{"style":555},[8652],{"type":27,"value":8653},"\"...\"",{"type":21,"tag":72,"props":8655,"children":8656},{"style":79},[8657],{"type":27,"value":1069},{"type":21,"tag":35,"props":8659,"children":8660},{"id":106},[8661],{"type":27,"value":106},{"type":21,"tag":110,"props":8663,"children":8664},{},[8665,8672],{"type":21,"tag":114,"props":8666,"children":8667},{},[8668],{"type":21,"tag":118,"props":8669,"children":8670},{"href":1419},[8671],{"type":27,"value":1419},{"type":21,"tag":114,"props":8673,"children":8674},{},[8675],{"type":21,"tag":118,"props":8676,"children":8677},{"href":128},[8678],{"type":27,"value":128},{"type":21,"tag":35,"props":8680,"children":8681},{"id":133},[8682],{"type":27,"value":133},{"type":21,"tag":29,"props":8684,"children":8685},{},[8686],{"type":27,"value":8687},"处理大 JSON 文件：流式解析、分块、Web Worker、压缩，避免内存溢出。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":8689,"children":8690},{},[8691],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":8693},[8694,8695,8696,8697,8698],{"id":8604,"depth":148,"text":8604},{"id":8614,"depth":148,"text":8614},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:large-json-files.md","blog/large-json-files.md","blog/large-json-files",{"_path":8703,"_dir":6,"_draft":7,"_partial":7,"_locale":8,"title":8704,"description":8705,"date":11,"category":786,"keywords":8706,"body":8709,"_type":155,"_id":8866,"_source":157,"_file":8867,"_stem":8868,"_extension":160},"/blog/what-is-json","什么是 JSON？JSON 入门详解","JSON 是一种轻量级数据交换格式，易于人读写、机器解析生成。本文介绍 JSON 的定义、特点与基本用法。",[65,8707,8708],"什么是json","json入门",{"type":18,"children":8710,"toc":8859},[8711,8716,8721,8727,8732,8738,8743,8747,8825,8829,8846,8850,8855],{"type":21,"tag":22,"props":8712,"children":8714},{"id":8713},"什么是-jsonjson-入门详解",[8715],{"type":27,"value":8704},{"type":21,"tag":29,"props":8717,"children":8718},{},[8719],{"type":27,"value":8720},"JSON（JavaScript Object Notation）是一种轻量级的数据交换格式，基于 JavaScript 语法的子集，采用完全独立于语言的文本格式。它易于人阅读编写，也易于机器解析生成，是当今 Web 开发中最常用的数据格式之一。",{"type":21,"tag":35,"props":8722,"children":8724},{"id":8723},"json-的特点",[8725],{"type":27,"value":8726},"JSON 的特点",{"type":21,"tag":29,"props":8728,"children":8729},{},[8730],{"type":27,"value":8731},"JSON 采用键值对结构，支持字符串、数字、布尔、null、对象、数组六种数据类型，结构清晰、体积小、跨平台兼容性好。",{"type":21,"tag":35,"props":8733,"children":8735},{"id":8734},"json-的用途",[8736],{"type":27,"value":8737},"JSON 的用途",{"type":21,"tag":29,"props":8739,"children":8740},{},[8741],{"type":27,"value":8742},"JSON 广泛用于 API 接口返回、配置文件、NoSQL 数据库存储、前后端数据交换等场景。",{"type":21,"tag":35,"props":8744,"children":8745},{"id":57},[8746],{"type":27,"value":57},{"type":21,"tag":61,"props":8748,"children":8750},{"className":63,"code":8749,"language":65,"meta":8,"style":8},"{\n  \"name\": \"JSONDog\",\n  \"version\": \"0.1.0\",\n  \"openSource\": true\n}\n",[8751],{"type":21,"tag":68,"props":8752,"children":8753},{"__ignoreMap":8},[8754,8761,8780,8801,8818],{"type":21,"tag":72,"props":8755,"children":8756},{"class":74,"line":75},[8757],{"type":21,"tag":72,"props":8758,"children":8759},{"style":79},[8760],{"type":27,"value":1020},{"type":21,"tag":72,"props":8762,"children":8763},{"class":74,"line":148},[8764,8768,8772,8776],{"type":21,"tag":72,"props":8765,"children":8766},{"style":222},[8767],{"type":27,"value":1917},{"type":21,"tag":72,"props":8769,"children":8770},{"style":79},[8771],{"type":27,"value":93},{"type":21,"tag":72,"props":8773,"children":8774},{"style":555},[8775],{"type":27,"value":1926},{"type":21,"tag":72,"props":8777,"children":8778},{"style":79},[8779],{"type":27,"value":1931},{"type":21,"tag":72,"props":8781,"children":8782},{"class":74,"line":1036},[8783,8788,8792,8797],{"type":21,"tag":72,"props":8784,"children":8785},{"style":222},[8786],{"type":27,"value":8787},"  \"version\"",{"type":21,"tag":72,"props":8789,"children":8790},{"style":79},[8791],{"type":27,"value":93},{"type":21,"tag":72,"props":8793,"children":8794},{"style":555},[8795],{"type":27,"value":8796},"\"0.1.0\"",{"type":21,"tag":72,"props":8798,"children":8799},{"style":79},[8800],{"type":27,"value":1931},{"type":21,"tag":72,"props":8802,"children":8803},{"class":74,"line":1054},[8804,8809,8813],{"type":21,"tag":72,"props":8805,"children":8806},{"style":222},[8807],{"type":27,"value":8808},"  \"openSource\"",{"type":21,"tag":72,"props":8810,"children":8811},{"style":79},[8812],{"type":27,"value":93},{"type":21,"tag":72,"props":8814,"children":8815},{"style":222},[8816],{"type":27,"value":8817},"true\n",{"type":21,"tag":72,"props":8819,"children":8820},{"class":74,"line":1063},[8821],{"type":21,"tag":72,"props":8822,"children":8823},{"style":79},[8824],{"type":27,"value":1069},{"type":21,"tag":35,"props":8826,"children":8827},{"id":106},[8828],{"type":27,"value":106},{"type":21,"tag":110,"props":8830,"children":8831},{},[8832,8839],{"type":21,"tag":114,"props":8833,"children":8834},{},[8835],{"type":21,"tag":118,"props":8836,"children":8837},{"href":128},[8838],{"type":27,"value":128},{"type":21,"tag":114,"props":8840,"children":8841},{},[8842],{"type":21,"tag":118,"props":8843,"children":8844},{"href":120},[8845],{"type":27,"value":120},{"type":21,"tag":35,"props":8847,"children":8848},{"id":133},[8849],{"type":27,"value":133},{"type":21,"tag":29,"props":8851,"children":8852},{},[8853],{"type":27,"value":8854},"JSON 是一种轻量级数据交换格式，易于人读写、机器解析生成。本文介绍 JSON 的定义、特点与基本用法。 JSONDog 提供全套 JSON 在线工具，纯前端、零上传、中英双语，欢迎免费使用。",{"type":21,"tag":142,"props":8856,"children":8857},{},[8858],{"type":27,"value":146},{"title":8,"searchDepth":148,"depth":148,"links":8860},[8861,8862,8863,8864,8865],{"id":8723,"depth":148,"text":8726},{"id":8734,"depth":148,"text":8737},{"id":57,"depth":148,"text":57},{"id":106,"depth":148,"text":106},{"id":133,"depth":148,"text":133},"content:blog:what-is-json.md","blog/what-is-json.md","blog/what-is-json",1787305463923]