将 JSON 格式化为特定结构

Posted

技术标签:

【中文标题】将 JSON 格式化为特定结构【英文标题】:Formatting JSON to specific structure 【发布时间】:2019-02-21 15:01:32 【问题描述】:

我通常是 javascript 编程和前端的新手,所以请不要评判我 :),今天我遇到了一些棘手的问题,我不知道如何解决,所以欢迎任何帮助。那么问题来了:

我有一些像这样的JSON结构,它是普通的javascript JSON,我想做的是一个格式并将数组中的元素切换到特定的顺序,例如,假设我已经给出了这个顺序元素:

var jsonObject =["id":1,"name":"Marco0",
                  "age":0,"startDate":"1990-12-01T00:00:00",
                  "salary":333.2132,"currentRate":0.3];

var order=["name","age","id","startDate","salary","currentRate"]

我想要这样的东西

var result=["Marco0","0","1","1990-12-01T00:00:00,....]

所以结果对应于请求的顺序并且是一个值数组。我还检查了this,这是唯一的部分答案。

【问题讨论】:

看一下jsonObject和图片的sn-p。 没有 JSON 对象这样的东西。 JSON 始终是一个字符串。 【参考方案1】:

虽然有一个数组,但您可以映射该数组并为新数组映射所需的键/值。

var object = [ id: 1, name: "Marco0", age: 0, startDate: "1990-12-01T00:00:00", salary: 333.2132, currentRate: 0.3 ],
    order = ["name", "age", "id", "startDate", "salary", "currentRate"],
    result = object.map(o => order.map(k => o[k]));
    
console.log(result);

【讨论】:

是的,这就像魅力 tnx Nina,Vielen Dank!你能给我推荐一本 JS 的好书吗 谢谢,抱歉没有书籍建议,但检查问题和回答可能会有所帮助。

以上是关于将 JSON 格式化为特定结构的主要内容,如果未能解决你的问题,请参考以下文章

使用 ObjectMapper 将 JSON 日期格式从 ZonedDateTime 序列化为自定义日期格式

如何将 kubectl describe 的输出格式化为 JSON

AJAX 调用以检索 JSON - 如何将结果格式化为屏幕

根据 SQL 中的 id 将 JSON 格式化为嵌套数组

C#将字符串格式化为Json

使用 js/jquery 将 JSON 字符串格式化为 textarea 中的可读格式