如何在javascript中完全获取具有重复键的JSON

2024-01-09

我试图从 url 获取 JSON,但在响应对象中重复的键被删除。有没有什么方法可以完全获取它而不删除重复的键?这是我的js代码

$('document').ready(function(){
    var s = $.getJSON("new.json");
    console.log(s);
});

以下是我的 new.json

{
"s": "wae",
"s": "asd"
}

但在控制台中我得到的 json 对象如下

responseJSON: Object
s: "asd"

提前致谢


如果您无法更改服务器响应,对于简单的 JSON 数据,您可以请求类似文本的 json 并像字符串一样解析它:

var check = new RegExp('["\']([^\'"]*)[\'"][^:]*:[^"\']*["\']([^\'"]*)[\'"]',"g");
    $.ajax({
        url : "text.json",
        dataType : "text",
        success : function(data){
            var newData = {};
            data.replace(check,function(a,b,c){
                if(typeof newData[b] == "undefined"){
                    newData[b] = c;
                }else if(typeof newData[b] == "object"){
                    newData[b].push(c);
                }else{
                    var ca = newData[b];
                    newData[b] = [ca,c];                     
                }
                return a;
            });
            console.log(newData);
            console.log($.parseJSON(data));
        },
        error : function(e,a){
            console.log(e,a);
        }
    });

在这段代码中newData你的 json 是:

{"s": ["wae","asd"]}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在javascript中完全获取具有重复键的JSON 的相关文章

  • Angular-Datatables + Angular-xeditable:取消可编辑行

    当组合 Angular DataTables 和 Angular XEditable 时 添加新行时会取消可编辑行 这是jsfiddle https jsfiddle net faj61h5d 10 示例操作如下 1 这是初始状态 2 将第
  • 如何在参数上使用 .reduce() 而不是特定的数组或对象?

    我想定义一个函数 flatten 将多个元素展平为一个数组 我知道以下是不可能的 但本质上我想这样做 var flatten function var flattened arguments reduce function acc elem
  • 页面点击其他路径后 $timeout 继续运行

    我在用yo angular fullstack生成器来构建我的网站 当用户注册该网站时 它将发送一封带有链接的激活电子邮件 当用户点击该链接时 会显示激活成功并超时进入主页 但是 当超时未结束 用户点击页面中的任何其他链接时 会跳转到其他页
  • Rxjs 可观察等待直到满足某些条件

    我有以下重试逻辑来重试操作 对于单个请求来说它工作得很好 对于多个正在进行的请求 我想在重试之前等待现有的重试逻辑完成 handleError errors Observable
  • 如何使用 PHP 从 MySQL 查询中按升序对值进行排序?

    我使用以下 PHP 脚本从 MySQL 表中获取和更改数据 并将结果打印在 HTML 表中 我希望按升序对数据进行排序 utilization percentage变量 它是由创建的 total client time total avai
  • CryptoJS 和 Pycrypto 一起工作

    我正在使用 CryptoJS v 2 3 加密 Web 应用程序中的字符串 并且需要在服务器上使用 Python 对其进行解密 因此我使用 PyCrypto 我觉得我错过了一些东西 因为我无法让它工作 这是JS Crypto AES enc
  • chrome 扩展 - 将数据从后台传递到自定义 html 页面

    创建浏览器扩展 我必须从 background js 打开新选项卡并将 JSON 数据传递到这个新选项卡 在新选项卡中 我使用传递的 JSON 数据来操作 渲染 DOM 下面是我的 background js 的一部分 我在其中使用自定义
  • 有不同图像尺寸的缩略图 Bootstrap

    我想要包含不同大小和不同文本量的图像的缩略图 但我希望它们都具有相同的大小 像这样来自 Bootstrap 站点的示例 http getbootstrap com components thumbnails custom content 下
  • 如何解析多态 JSON 数组?

    我有一个 JSON 格式的文件 其中包含个人用户的记录 一些用户的记录中间有一个评论字段 我只想解析顶级项目 全名 贡献者姓名 电子邮件 使用 Newtonsoft JSON 解析器 但我似乎无法让它识别单个对象 当我将整个字符串解析为一个
  • Javascript - 如何计算数字的平方?

    使用 JavaScript 函数 function squareIt number return number number 当给定数字 4294967296 时 函数返回 18446744073709552000 每个人都知道真正的答案是
  • Jade(当前称为“Pug”)模板引擎中的循环

    我想使用一个简单的循环 例如for int i 0 i lt 10 i 如何在 Jade 引擎中使用它 我正在使用 Node js 并使用expressjs 框架 例如 for var i 0 i lt 10 i li array i 你可
  • 在 中动态添加链接样式表 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 如何将链接
  • Rspec 控制器测试,传递 JSON 参数

    我试图实现以下目标 在 RSpec 控制器测试中创建 POST json 请求 并向其传递参数 这是我的代码 it returns access token do post login email bla password bla1 for
  • 在浏览器上录制视频并上传到LAMP服务器

    我已经尝试了很多东西 red5 jquery 网络摄像头 html5 但这些解决方案都没有录制视频并准备好上传到服务器 无论如何 html5 flash 等等 更好的跨浏览器解决方案 最好的 上传视频 音频 并将结果上传到服务器 我猜是通过
  • 如何在 jQuery 中检查复选框是否被选中?

    我需要检查checked复选框的属性 并使用 jQuery 根据选中的属性执行操作 例如 如果age复选框被选中 然后我需要显示一个文本框来输入age 否则隐藏文本框 但下面的代码返回false默认情况下 if isAgeSelected
  • jQuery fadeOut 一个 div,fadeIn 另一个 div 在其位置

    我正在尝试一个简单的 jQuery 脚本来淡出一个 div 并淡入另一个 div 但由于某种原因 第一个 div 永远不会淡出 这可能是代码的一个明显问题 但我似乎无法弄清楚 div div div div
  • 我无法使用 jQuery 和 abort() 函数停止 ajax 请求

    我的 jQuery 如下 var x ajax dataType jsonp url https ajax googleapis com ajax services search images q google v 1 0 success
  • 使用 stopPropagation() 处理 React 事件委托

    我有一个 React 项目 应该可以放置在任何网站上 我的想法是 我托管一个 javascript 文件 人们放置一个具有特定 ID 的 div 然后 React 在该 div 中进行渲染 到目前为止 除了点击事件之外 这是有效的 这些事件
  • Angular 5 中 Observable.ForkJoin 的重复 Http 请求

    我有一个 Angular 5 应用程序 组件中包含以下代码 ngOnInit Observable forkJoin this highlightedInsight this insightService getHighlightedIns
  • html5 canvas 使用图像作为蒙版

    是否可以使用具有形状的图像作为整个画布或画布内图像的蒙版 我想将图像放置在画布中 并在图像上添加蒙版 然后将其另存为新图像 您可以使用 source in globalCompositeOperation 将黑白图像用作蒙版 首先 将蒙版图

随机推荐

  • RSelenium 错误:无法连接到主机; Selenium 服务器未运行

    我收到以下错误 checkError res 中的错误 无法连接到主机http localhost 4444 wd hub http localhost 4444 wd hub 请确保 Selenium 服务器正在运行 我使用的是 mac
  • 我可以说事件和委托之间的关系采用复合模式吗?

    一个事件可以包含许多使用定义的处理程序delegate 我目前的理解是delegate只是函数指针的抽象 自从event 它与一个相关联delegate类型 可以向其中添加 删除许多委托 并且复合模式将复合对象视为终端对象 因此想法是 co
  • Android 网络统计

    是否可以创建一个在作为后台进程运行时获取网络活动 统计信息的应用程序 或者只是制作一个侦听特定端口上的流量的应用程序 Thanks M 也许是碰碰运气 但我使用过的大多数设备都有 proc 文件系统 您应该能够从 proc net 条目之一
  • System.Web.Script.Serialization.JavaScriptSerializer 还是 System.Runtime.Serialization.Json.DataContractJsonSerializer?

    两者有什么区别 为什么你会使用其中一种而不是另一种 在这里找到 http aaron powell spaces live com blog cns 91A824220E2BF369 150 entry http aaron powell
  • CreateGraphics 和 Paint 事件的 Graphics 对象有什么区别?

    有人可以解释一下两者之间的区别吗Graphics传递的对象pevent Graphics以及通过调用返回的那个this CreateGraphics 每当一个Paint事件被引发 你会得到一个Graphics要绘制的对象 这被传递为peve
  • 如何在 Node.js 中强制重置套接字?

    我从 Node js 应用程序收到 read ECONNRESET 错误 可能是客户端或服务器连接 我不确定 作为修复这些问题的一部分 我想做一些本地测试 最好为其设置自动化测试 我想编写一个节点客户端和服务器 在连接建立后立即对其进行硬重
  • 无法在 Android 上获取 expo 推送令牌

    我正在构建一个 React 本机应用程序 它基于Expo https expo io 我还想结合利用 Expo 的推送通知功能Firebase 实时数据库 https firebase google com docs database 我基
  • 如何检查 javascript var 中是否存在文本

    我有一个包含一些文本的变量 我想检查一下文本中是否有某个单词 例子 var myString This is some random text 我想检查一下 随机 这个词是否存在 谢谢你的帮助 如果您想专门测试 随机 一词 可以使用如下正则
  • 刷新布局并更新数据

    我有以下显示数据网格的 pyqt 代码 我能够单击一个字母 打开一个文本输入框并成功将数据保存到网格并在终端中打印更新的数据 我努力了update and repaint 但他们什么也没做 并打电话给createLayout 方法抛出错误Q
  • 浏览存储库中标记版本的列表?

    我正在尝试检查 OpenSSL 1 0 2a 而不是 Master OpenSSL 已标记版本 我正在尝试浏览它们以确定实际名称是什么 我知道它们有 1 0 0 1 0 1 和 1 0 2 但它们的命名更复杂 根据OpenSSL Git 存
  • 如何通过svn Eclipse插件解决树冲突

    我最近在我的eclipse中安装了svn插件 我想知道如何通过它解决我的项目的树冲突 等待您宝贵的回复 右键单击项目 选择Team gt Show Tree Conflict gt Mark as Resolved
  • Android 5.0.2 - 短信广播接收器 - 无法使其工作

    我正在小米红米Note 3上进行测试 我需要的很简单 注册广播接收器以接收传入的短信 收到消息后 只需阅读即可 看来无论我如何尝试 我都无法获得接收器注册 从谷歌文档来看 从 4 4 开始 任何应用程序都不应该吞下该事件 并且每个监听的应用
  • EnableViewState 在 DropDownList 中不起作用

    default aspx 页面有一个DropDownList仅当它不是时才在后面的代码中填充postback 当选择一个值时 将调用一个方法来填充Literal与选定的值 它按预期工作 问题是当我将页面设置为不EnableViewState
  • 如何让console.log输出getter结果而不是字符串“[Getter/Setter]”?

    在此代码中 function Cls this id 0 Object defineProperty this id get function return this id set function id this id id enumer
  • .NET 主要版本和发布分支的 git 分支策略

    对于包含多个类库的 NET 项目 我当前使用以下 git 分支策略 feature 1 master v PR v release 7 0 v I branch
  • iPhone 7/7plus 上的空 snapshotView

    我的第一个问题是 最近我将 Xcode 更新到 8 并且resizableSnapshotView该方法在某些模拟器上无法正常工作 snapshotView 在所有 iOS9 10 的测试设备和 iPhone6s 下的模拟器上都运行良好 但
  • Qt 安卓.获取设备屏幕分辨率

    我正在 Android 设备上使用 qt 5 3 进行开发 我无法获取屏幕分辨率 对于旧的 qt 5 版本 此代码有效 QScreen screen QApplication screens at 0 largh screen gt ava
  • 通过合并日期时间和日期列上的两个 DF 查找昨天的高价

    我正在尝试合并两个 df 其中一个 df 有一个datetime列 另一个只有一个date柱子 我的申请是找到昨天的high使用 OHLC 数据集的价格 我在下面附加了一些起始代码 但我将描述我正在寻找的内容 鉴于这种intraday数据集
  • 从 Git 中删除过时的提交

    我已经进行了一些测试提交 以测试提交挂钩 并且始终将索引重置为我最后一次正常提交 现在这些过时的提交仍然存在 gt git reflog fcdabf7 HEAD 0 reset moving to fcdabf7e01845d6f000f
  • 如何在javascript中完全获取具有重复键的JSON

    我试图从 url 获取 JSON 但在响应对象中重复的键被删除 有没有什么方法可以完全获取它而不删除重复的键 这是我的js代码 document ready function var s getJSON new json console l