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

Is it possible to move a particular JSON key to the top of the JSON using Javascript/VuejJS/Nodejs package?

我有一个使用 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:

  1. 我知道 JSON 顺序并不重要,但我这样做是为了提高可读性。如果有办法,那么 reader 更好地理解 JSON 将非常有用。

  2. 我想知道是否有直接的方法而不是循环 JSON,因为我在实际应用程序中创建的 JSON 可能非常大.

  3. 我只想将 schema 移到 JSON 的顶部。其余的JSON可以保持原样我不想做任何修改

  4. 有没有办法使用 vanilla Javascript 或者像我使用 Vuejs 一样使用一些 Nodejs 库来做到这一点?

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

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

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

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

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

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

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

console.log(myReorderedObject);