Javascript:如何直接从对象生成格式化的易于阅读的 JSON? [复制]

     2023-02-18     283

关键词:

【中文标题】Javascript:如何直接从对象生成格式化的易于阅读的 JSON? [复制]【英文标题】:Javascript: How to generate formatted easy-to-read JSON straight from an object? [duplicate] 【发布时间】:2011-03-31 17:46:15 【问题描述】:

可能重复:How can I beautify JSON programmatically?

我知道如何使用 JSON.stringify 从对象生成 JSON,或者在我的例子中是来自 google 代码 (https://github.com/krinkle/jquery-json) 的方便的 jquery-json。

现在这工作正常,但输出对于人类来说很难阅读。有没有一种简单的方法/功能/什么来输出一个格式整齐的 json 文件?

这就是我的意思:

JSON.stringify(a:1,b:2,c:d:1,e:[1,2]); 

给..

""a":1,"b":2,"c":"d":1,"e":[1,2]"

我想要这样的东西:


 "a":1,
 "b":2,
 "c":
    "d":1,
    "e":[1,2]
 

例如添加了换行符和标签。较大的文档更容易阅读。

我希望在不添加任何大型库的情况下理想地做到这一点 - 例如。不是原型或 YUI 或其他任何东西。

【问题讨论】:

也许这会有所帮助:jsoneditoronline.org 现在您知道为什么许多人更喜欢 XML 而不是 JSON。它更具可读性。 【参考方案1】:

JSON.stringify 需要更多 optional arguments。

试试:

 JSON.stringify(a:1,b:2,c:d:1,e:[1,2], null, 4); // Indented 4 spaces
 JSON.stringify(a:1,b:2,c:d:1,e:[1,2], null, "\t"); // Indented with tab

发件人:

How can I beautify JSON programmatically?

应该可以在现代浏览器中使用,如果您需要不支持 JSON 辅助函数的浏览器的后备,它包含在 json2.js 中。出于显示目的,将输出放在<pre> 标记中以显示换行符。

【讨论】:

鉴于 OP 用"e":[1,2] 全部在一行上写了他的美化版本,这个答案是不是有点不准确?是否可以将缩进和非缩进 JSON 与 stringify 混合使用? 记得把它放在像
 这样的东西里面来换行。

javascript打印json对象-树形结构输出-格式化json数组-js从一维数组生成树形结构对象(代码片段)

效果图方法//格式化对象,使用四个空格缩进functionget_formatted_string(objectOrArray)returnJSON.stringify(objectOrArray,null,4)//数组对象letdata=["menuId":1,"menuName":"XX后台","parentId&# 查看详情

如何从 javascript 变量中删除对象/数组?

】如何从javascript变量中删除对象/数组?【英文标题】:Howtoremoveobject/arrayfromjavascriptvariable?【发布时间】:2015-07-0901:41:02【问题描述】:【问题讨论】:请记住使用字符`格式化您问题中的代码,或者选择代码并点击“格式化代... 查看详情

javascript打印json对象-树形结构输出-格式化json数组-js从一维数组生成树形结构对象(代码片段)

效果图方法//格式化对象,使用四个空格缩进functionget_formatted_string(objectOrArray)returnJSON.stringify(objectOrArray,null,4)//数组对象letdata=["menuId":1,"menuName":"XX后台","parentId":0,"isFrame":"1","status"... 查看详情

如何从 html 输入类型时间创建 javascript 日期对象?

】如何从html输入类型时间创建javascript日期对象?【英文标题】:Howtocreatejavascriptdateobjectfromhtmlinputtypetime?【发布时间】:2019-10-0709:31:22【问题描述】:这个question回答了如何将HH:mm:ss字符串转换为Javascript日期对象。从HTML时间输... 查看详情

如何从 JavaScript 生成 Excel xlsx 文件

】如何从JavaScript生成Excelxlsx文件【英文标题】:HowtogenerateExcelxlsxfilesfromJavaScript【发布时间】:2017-04-2620:21:50【问题描述】:我们目前正在从ui-grid自定义菜单导出到Excel。xlsExcel文件由JavaScript生成(在UI中);但是,我们需要支... 查看详情

Java - 如何直接从 openapi 3.0 规范生成 Swagger UI

】Java-如何直接从openapi3.0规范生成SwaggerUI【英文标题】:Java-howtogenerateSwaggerUIdirectlyfromopenapi3.0specification【发布时间】:2019-09-0718:30:02【问题描述】:我有yaml格式的openapi3.0规范和从中生成代码的应用程序。除了生成swaggerui外,... 查看详情

如何从 GraphQLSchema javascript 对象获取 .graphql 文件?

】如何从GraphQLSchemajavascript对象获取.graphql文件?【英文标题】:howtoobtain.graphqlfilefromGraphQLSchemajavascriptobject?【发布时间】:2018-05-2410:04:08【问题描述】:我正在使用graphql-js创建一个新的graphQL模式,但不会通过http提供服务,将... 查看详情

如何从javascript对象中移除一个属性

参考技术Ajs中其实是有delete这个关键字的varobj=key1:'value1',key2:'value2';deleteobj.key1;这样就能删除obj中的key1了。不过delete不能删除直接使用var定义的变量。比如:varvar1='value1';deletevar1; 查看详情

如何从 Oracle 数据库中的对象类型生成 XML

】如何从Oracle数据库中的对象类型生成XML【英文标题】:HowtogenerateXMLfromObjectTypeinOracledatabase【发布时间】:2017-04-1313:52:18【问题描述】:如题所述,如何将Oracle中对象类型的数据解析为XML格式?例如,如果我有一个对象类型CUSTO... 查看详情

从 TypeScript 类型定义或 GraphQL 片段定义生成 JavaScript 空对象

】从TypeScript类型定义或GraphQL片段定义生成JavaScript空对象【英文标题】:GenerateJavaScriptemptyobjectfromTypeScripttypedefinition,orGraphQLfragmentdefinition【发布时间】:2020-11-2606:30:27【问题描述】:我在一个带有Apollo客户端的项目中使用GraphQL... 查看详情

如何从服务器生成 Javascript 文件

】如何从服务器生成Javascript文件【英文标题】:HowToGenerateAJavascriptFileFromTheServer【发布时间】:2010-09-0905:52:30【问题描述】:我正在使用BlogEngine.NET(一个很好的工具),我正在使用TinyMCE编辑器,发现有一个地方可以让我创建一... 查看详情

如何通过javascript函数实现生成pdf文件

...为PDF,XLSX及HTML文件。也可以不预览直接将报表导出。在纯JavaScript应用中增加导出功能需要将报表文件导出为哪种格式,就需要引入相关的js文件,如下:<scriptsrc="https://cdn.grapecity.com/activereportsjs/2.latest/dist/ar-js-pdf 查看详情

无法从 JavaScript 中的 JSON 文件获取具有日期格式的对象 [重复]

】无法从JavaScript中的JSON文件获取具有日期格式的对象[重复]【英文标题】:UnabletogetobjectwithdateformatfromJSONfileinJavaScript[duplicate]【发布时间】:2022-01-1621:23:56【问题描述】:我正在使用JavaScript进行一项活动,我必须调用外部API并... 查看详情

如何从 Javascript 生成 Vue 组件

】如何从Javascript生成Vue组件【英文标题】:HowtogenerateVuecomponentsfromJavascript【发布时间】:2020-05-0905:24:37【问题描述】:我是Vue.js的新手(具有计算机科学和编程方面的背景,包括交互式Javascript网页),因为我是一名教师,所以... 查看详情

如何从javascript中的对象数组中删除对象[重复]

】如何从javascript中的对象数组中删除对象[重复]【英文标题】:Howtoremoveanobjectfromandobjectarrayinjavascript[duplicate]【发布时间】:2018-08-1510:12:14【问题描述】:[LanguageMedium:"SinhalaMedium",Subject:"English",Type:"Past"]如何从这个数组对象中删... 查看详情

javascript浅析javascript对象如何添加属性和方法

向JavaScript类中添加属性和方法,最直观的做法就是在类中定义属性和方法。JavaScript是一门弱语言,除了直接定义还可以用prototype来添加。下面介绍从外部向JavaScript添加属性和方法的四种方法,首先定义一个类functionMyClass(){}1,使... 查看详情

如何直接从原生 JavaScript 前端与 Emscripten Web Worker 交互

】如何直接从原生JavaScript前端与EmscriptenWebWorker交互【英文标题】:HowtointeractwithanEmscriptenWebWorkerdirectlyfromanativeJavaScriptfront【发布时间】:2016-12-0117:15:45【问题描述】:如何有效地将参数列表从原生JavaScript发送到EmscriptenWebWorker... 查看详情

如何使用javascript直接从网页录制

】如何使用javascript直接从网页录制【英文标题】:Howtorecorddirectlyfromawebpageusingjavascript【发布时间】:2018-03-0623:38:05【问题描述】:我正在制作一个小音乐应用程序。我希望能够在不依赖麦克风的情况下录制浏览器中发出的声音... 查看详情