javascript – 为什么以及何时需要平铺JSON对象?

我很惊讶,没有人在这个问题之前提到这个问题.

查看Json对象文档和快速的谷歌搜索没有产生令人满意的结果.

它的优点是什么?怎么运行的?

编辑:为了弄清楚,看看这个扁平化/不平坦的例子.

Fastest way to flatten / un-flatten nested JSON objects

谢谢.

解决方法

有很多情况下,您会收到由某个库自动构建的JSON文本.在整个编程语言中,有许多构建JSON文本的库(一个 example is here).

每当库添加一些额外的对象或数组包装时,您可能想要摆脱这些可能是因为您将JSON发送到服务器,并且您的代码崩溃,因为它需要一个原始值而不是一个对象(或数组).或者,如果您的JSON是服务器响应,则不希望由此产生的JavaScript代码在对象/数组之间不一致或不对象/数组.在所有这些情况下,扁平化是有帮助的,因为它会节省您的时间.您将不得不实施较少的if / elses,您可以可靠地期望您的数据结构尽可能平坦.

改进上述情景的代码的另一种方法是以最大的鲁棒方式编写代码,所以没有办法通过多余的包装来崩溃.所以总是期待一些包装,并得到它的内容.然后,不需要扁平化.

你看,这取决于什么是构建JSON和解析它.建筑物可能超出您的范围.

这也导致数据模型问题.我已经使用XML代码,如果有一些XY的0个条目,或者如果有一个XY的> 0条目,则需要以不同的方式解析为安静.拥有允许有一个XY的0个或更多条目的包装器将使其更容易实现.这些是数据模型.

在所有情况下,JSON表示我手动组合的对象结构,我希望它不会改变.所以扁平化我所设计的细节会令人不安.我看到他们的标准操作不需要扁平化(例如JSON.stringify(),json_encode()等)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


kindeditor4.x代码高亮功能默认使用的是prettify插件,prettify是Google提供的一款源代码语法高亮着色器,它提供一种简单的形式来着色HTML页面上的程序代码,实现方式如下: 首先在编辑器里面插入javascript代码: 确定后会在编辑器插入这样的代码: <pre
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代码高亮,因为SyntaxHighlighter的应用非常广泛,所以将kindeditor默认的prettify替换为SyntaxHighlighter代码高亮插件 上一篇“让kindeditor显示高亮代码”中已经
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小
JS怎么获取当前时间戳
JS如何判断对象是否为数组
JS怎么获取图片当前宽高
JS对象如何转为json格式字符串
JS怎么获取图片原始宽高
怎么在click事件中调用多个js函数
js如何往数组中添加新元素
js如何拆分字符串
JS怎么对数组内元素进行求和
JS如何判断屏幕大小
js怎么解析json数据
js如何实时获取浏览器窗口大小
原生JS实现别踩白块小游戏(五)
原生JS实现别踩白块小游戏(一)