重构 JSON 数据

2023-12-24

目前我有一个 json 文件,其中存储了多个数据,如下所示:

{"name": ["Adelphi University"], "supp": ["Yes: E, WS"], "ed": ["\u00a0"], "online": ["$40"], "ea": ["12/1"], "mid": ["No"], "rd": ["Rolling"], "recs": ["Yes: CR"], "mail": ["$40"], "schoolr": ["Yes"]}

这条线应该代表一所大学(因此得名),“名称”后面的变量,即“supp”、“online”等,是该学校的属性。我将如何重构此数据以使“名称”变量定义数据,而其他变量是“名称”父级的子级。我的数据应该如下所示:

{
  "schools": {
    "Adelphi University": {
      "supp": "Yes: E, WS",
      "ed": "\u00a0",
      "online": "$40",
      "ea": "12/1", 
      "mid": "No", 
      "rd": "Rolling", 
      "recs": "Yes: CR", 
      "mail": "$40", 
      "schoolr": "Yes",    
    },
    "Dartmouth College": { ... },
    "Harvard University": { ... }
  }
}

我该怎么做呢?


您可以迭代键并测试name,然后用该名称构建一个对象并分配一个临时对象。否则分配值。

var array = [{ "name": ["Adelphi University"], "supp": ["Yes: E, WS"], "ed": ["\u00a0"], "online": ["$40"], "ea": ["12/1"], "mid": ["No"], "rd": ["Rolling"], "recs": ["Yes: CR"], "mail": ["$40"], "schoolr": ["Yes"] }, { "name": ["Dartmouth College"], "supp": ["Yes: E, WS"], "ed": ["\u00a0"], "online": ["$40"], "ea": ["12/1"], "mid": ["No"], "rd": ["Rolling"], "recs": ["Yes: CR"], "mail": ["$40"], "schoolr": ["Yes"] }],
    schools = {},
    result = { schools: schools };

array.forEach(function (a) {
    var temp = {};
    Object.keys(a).forEach(function (k) {
        if (k === 'name') {
            schools[a[k][0]] = temp;
            return;
        }
        temp[k] = a[k][0];
    });
});

console.log(JSON.stringify(result));
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

重构 JSON 数据 的相关文章

  • 单击时删除输入文本的默认值

    我有一个输入文本
  • JavaScript 中的排序算法

    为 jQuery 函数编写 JavaScript 回调 sort click 允许用户以任意顺序输入三个数字 按从小到大的顺序输出数字 document ready function sort click function var a Nu
  • 如何从 facebook javascript SDK 获取个人资料图片?

    我正在尝试从 Facebook 获取个人资料图片 现在我正在从 Facebook 获取所有信息 但无法获取用户的个人资料照片 这是我的代码 function getFBData FB api me function response fbi
  • Jackson @JsonUnwrapped 行为与自定义 JsonSerializer

    我有两个这样的课程 public class A String aProp aProp public String getAProp return aProp public class B String bProp bProp A a ne
  • 在“FCM Cloud Messaging”中获取与推送通知相关的分析

    我想知道推送通知是否已传递到映射到我的用户数据库的所有 RegistrationId 我有 8000 个用户 所有人都有 RegistrationId 我已向所有人发送了通知 现在我想确定所有这些用户是否都收到了通知 那么有没有什么方法可以
  • 如何使用 javascript 删除前 5 或 7 个字符

    我已经使用下面给定的 javascript 发布了一个问题
  • Javascript get Between 函数多个实例

    function getBetween content start end var r content split start if 1 in r var z r 1 split end return z 0 return 您好 我编写的函
  • 当自定义属性不等于 x 时,通过 .class 删除

    我拥有的 我有一个选择元素 有些选项同时具有类 filterable option 和自定义属性 data clienturn 我需要的 基于另一个元素的更改事件 我需要从选择元素中删除以下选项 被归类为 filterable option
  • Meteor 独特客户端集合的发布/订阅策略

    使用 Meteor 我想知道如何最好地处理共享相同服务器端数据库集合的不同客户端集合 考虑以下示例 我有一个User集合 在我的客户端我有一个好友用户列表我有一个搜索功能 可以对整个用户数据库执行查询 返回一个与查询匹配的用户名列表 在发布
  • 如何在分形绘图递归函数中创建延迟

    我正在玩一个分形绘图递归函数 遇到了雄辩的 JavaScript https eloquentjavascript net 我想为每个分支的绘制设置一个延迟 以便在我修改此函数及其参数时可视化分支 递归调用的流程 我用过的方式setTime
  • 设置 iframe 内容的样式

    是否有可能设置 iframe 内容的样式 我正在研究 Google 集成 并将 iframe 与文档一起包含在内 这个谷歌文档有我不想显示的菜单 文件 编辑 是否有可能针对此元素并赋予它们诸如 显示 无 或者只是以某种方式隐藏这些元素 Th
  • jQuery ajax表单多次提交

    我在使用 jQuery ajax 表单提交多个表单时遇到一些问题 我通过在服务器上打印表单提交的每个实例发现了这一点 并发现表单会正确提交一次 然后再次提交多次 需要明确的是 这段代码在第一次提交时可以 100 正确运行 但是当我单击表中的
  • HighCharts 在 xAxis 上显示日期时间格式

    我试图在高图表的 x 轴上以日 周 月格式显示日期时间 我将数据格式化为 x utc 日期时间格式和 y 幅度 我的印象是我只需要这样做就可以了 Highcharts chart container title text Chart wit
  • 如何从外部调用 Angularjs 工厂函数

    我有一个像这样的角度模块 工厂 var app angular module webportal vr directives slider angular flexslider LocalStorageModule multi select
  • Document.querySelector 返回 null,直到使用 DevTools 检查元素

    我正在尝试创建一个 Chrome 扩展程序 用于查找 Facebook 上的 赞助 帖子并将其删除 在执行此操作时 我注意到 Google Chrome 在 Facebook com 上的这种相当奇怪的行为 其中对现有元素的某些类型的查询
  • 让 Jsoup 支持通过 JavaScript 动态生成 html

    现在我正在开发一个网络爬虫 这个应该解析一些特定的站点并将输出输出到 xml 文件中 到目前为止 没有问题 Crawler 可以工作 您可以通过 cfg 文件快速自定义它 我使用 Jsoup 来解析 HTML 内容 我刚刚添加了几个站点 发
  • 在 JavaScript 中创建计划任务

    我正在创建一个应用程序javascript每个都会发送通知周日上午 12 点那时我应该做什么来调用函数 我不会用 javascript 来做 就是这么说的 大喊大叫 function foo var day new Date getDay
  • C# 中 PHP 的快速解析

    我需要用 C 解析 PHP 文件 我们本质上要求另一个国家的一些开发人员上传 PHP 文件 上传后我们需要检查 php 文件并获取所有方法和类 函数等的列表 我想过使用正则表达式 但我无法确定一个函数是否属于一个类等 所以我想知道是否已经有
  • API 的集成与单元测试

    我们可以考虑向端点 单元或集成测试 发送请求吗 import lib from testing lib const testClient expect lib const response testClient request app ge
  • Firestore 未检索完整的数据值

    图 1 显示了我的数据库的层次结构 我正在尝试检索课程名称 Android 品牌 斜体数据 品牌 其他 由后端 post 命令添加 其他数据通过打字添加 当只检索非斜体数据时 如屏幕截图 2 所示 我无法弄清楚为什么会发生这种情况 屏幕截图

随机推荐