是否可以使用 Javascript/VuejS/Nodejs 包将特定的 JSON 键移动到 JSON 的顶部?

Posted

技术标签:

【中文标题】是否可以使用 Javascript/VuejS/Nodejs 包将特定的 JSON 键移动到 JSON 的顶部?【英文标题】:Is it possible to move a particular JSON key to the top of the JSON using Javascript/VuejJS/Nodejs package? 【发布时间】:2021-09-29 22:00:41 【问题描述】:

我有一个使用 Vuejs 构建的 Web 应用程序,我从 Java 后端服务获取 JSON,其格式如下:



  "a" : "Value-A",
  "c" : "Value-C",
  "b" : "Value-B",
  "schema" : "2.0"

在向用户显示结果之前,我想将 schema 移到顶部,以便用户阅读并且我希望它看起来像这样:


  "schema" : "2.0",
  "a" : "Value-A",
  "c" : "Value-C",
  "b" : "Value-B"

我们可以看到只有 schema 的位置发生了变化,其余的 JSON 保持不变。

Please Note:

    我知道 JSON 顺序无关紧要,但我这样做是为了提高可读性。如果有办法,那么对于读者更好地理解 JSON 将非常有用。

    我想知道是否有一种直接的方法可以做到这一点,而不是循环遍历 JSON,因为我在实际应用程序中创建的 JSON 可能非常大。

    我想要做的就是将schema 移动到 JSON 的顶部。 JSON 的其余部分可以保持原样,我不想对其进行任何修改。

    有没有办法使用 vanilla javascript 或使用一些 Nodejs 库来做到这一点,就像我使用 Vuejs 一样?

如果有办法做到这一点或有任何解决方法,我将不胜感激。

【问题讨论】:

“我知道 JSON 顺序无关紧要” - 我不认为顺序无关紧要,而是它甚至不能保证任何顺序一点也不。所以重新排序可能会被直接忽略。 【参考方案1】:

一个非常简单的方法可能是字符串化一个新对象。

const myObject = 
  "a" : "Value-A",
  "c" : "Value-C",
  "b" : "Value-B",
  "schema" : "2.0"
;

console.log(
  JSON.stringify(
    schema: myObject.schema,
    ...myObject
  , null, 2)
);

【讨论】:

非常感谢您的时间、回复和解决方法。像魅力一样工作。祝你有美好的一天。【参考方案2】:

我的建议与接受的答案几乎相同,但没有使用JSON.stringify()

const myObject = 
  "a" : "Value-A",
  "c" : "Value-C",
  "b" : "Value-B",
  "schema" : "2.0"
;

const myReorderedObject = 
  schema: '',
  ...myObject
;

console.log(myReorderedObject);

【讨论】:

以上是关于是否可以使用 Javascript/VuejS/Nodejs 包将特定的 JSON 键移动到 JSON 的顶部?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以使用 JavaScript 确定 GeoJSON 点是否在 GeoJSON 多边形内?

是否可以检查是否使用modernizr 启用了cookie?

是否可以使用 HTML/Javascript 按名称启动应用程序?

是否可以使用 jQuery 读取元标记

是否可以使用批处理文件检查两个文件是否共享相同的名称?

是否可以使用 INFORMATION_SCHEMA 模式来检查数据库是否存在?