Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在运行前确定数据是否为新数据(将数组与JSON进行比较)

在运行前确定数据是否为新数据(将数组与JSON进行比较)
EN

Stack Overflow用户
提问于 2012-06-11 14:15:11
回答 2查看 97关注 0票数 0

好了,我有一个有趣的问题。我的页面每隔一段时间就发出一个JSON请求。如果数据没有改变,它不需要做任何事情。问题是,我想不出一种方法来证明它是否改变了。

我尝试了这样的东西,但没有用:

var stations = null;

代码语言:javascript
运行
AI代码解释
复制
function parseDynamicData(ard) {
    //this was something that gave me problems for days
    //nice little hack to fix it
    if (ard['details']['enabled'] == 'true' && ard['song']['art'] != 'undefined');
    {
        //turns off the 'server offline' page
        if (document.location.toString().indexOf('#offline') != -1)
            document.location = '/#tracks';
        //update UI
        $('#track-title').html(htmlDecode(ard['song']['title']));
        $('#track-artist').html(htmlDecode(ard['song']['artist']));
        $('#track-album').html(htmlDecode(ard['song']['album']));
        $('#track-art').attr('src', htmlDecode(ard['song']['art']));
        //set if it's play or pause visible
        if (htmlDecode(ard['details']['playing']) == 'true') {
            $('#control-pauseplay').html('Pause');
            $('#control-pauseplay').attr('href', '/track?proc=2');
        } else {
            $('#control-pauseplay').html('Play');
            $('#control-pauseplay').attr('href', '/track?proc=3');
        }
        //Now update all of the stations
        if (stations == null || stations != ard['stations']) {
            $.each(ard['stations'], function (key, value) {
                alert(key);
            });
            stations = ard['stations'];
        }
    }
}

下面是一个普通的JSON响应:

代码语言:javascript
运行
AI代码解释
复制
{
    "song": {
        "art": "http://cont-sjl-1.pandora.com/images/public/amz/6/2/3/3/886978533326_500W_500H.jpg",
        "title": "Hold It Against Me",
        "artist": "Britney Spears",
        "album": "Femme Fatale Deluxe"
    },
    "details": {
        "playing": "true",
        "enabled": "true"
    },
    "stations": {
        "undefined": "False",
        "Alex Clare Radio": "False",
        "Rap Strength Training Radio": "False",
        "Drops Of Jupiter Radio": "False",
        "Tween Radio": "False",
        "Today's Hits Radio": "True"
    }
}

但是,无论我做什么,它仍然会通过JSON为每个键发出警报。有人知道我该怎么做吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-11 14:39:30

我怀疑stationsard['stations']是结构相同的不同对象。如果在每次JSON请求之后重新构建ard,而stations保存来自前一个ard的数组,那么这两个对象就不是同一个对象,因此精确匹配将失败,无论这两个对象是否具有相同的键值对。

我要做的是保留最后一条JSON消息的准确字符串副本,并在解析它之前将其与当前的JSON字符串消息进行比较。否则,您将需要将当前对象的每个单独的键值对与预期的新1进行比较,如果其中一些值是对象本身,事情可能会变得有点混乱(不必要)。

如果您可以确定服务器将始终以相同的方式将给定对象O串化(并且确保您不需要担心检查客户端上的对象是否发生了变化),那么您可以简单地比较来自服务器的对象的JSON字符串版本。

票数 1
EN

Stack Overflow用户

发布于 2012-06-11 14:30:46

您可以尝试使用JSON.Stringify吗?显然,您从JSON请求中得到的是JSON,我假设您已经将最后一个请求转换为实际的对象。所以只要打个电话:

代码语言:javascript
运行
AI代码解释
复制
JSON.Stringify(Object) === JSONresult

并比较这两个字符串。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10981864

复制
相关文章
如何使用GraphQL进行前端数据交互
嘿,大家好!今天我要和大家聊一聊一个非常酷炫的技术——GraphQL。你可能听说过它,也可能对它一无所知。不管怎样,我保证你在读完这篇文章之后,会对GraphQL有一个全新的认识!
小白学大数据
2023/07/13
3310
前端如何将json数据导出为excel文件
前端人员在开发时,有时为了满足用户需求,需要下载excel文件。这里通常有两种做法,一种是后端工程师将数据转化为excel,然后前端进行下载即可,还有一种方式,前端请求需要下载的数据,在浏览器端生成excel文件,然后进行下载。
挥刀北上
2020/08/04
7.5K0
前端如何将json数据导出为excel文件
ECharts折线图渲染json格式数据(格式为数组)
ECharts折线图渲染json格式数据(json格式,为数组) 需要对数组进行循环取值,将取到的值分别赋值给x轴和y轴
王小婷
2021/04/09
3.2K0
ECharts折线图渲染json格式数据(格式为数组)
js数组添加json数据[通俗易懂]
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/133387.html原文链接:https://javaforall.cn
全栈程序员站长
2022/08/14
11.9K0
MySQL 判断 JSON 数组是否相等
JSON(JavaScript Object Notation)是流行的互联网应用服务之间的数据交换格式。
恋喵大鲤鱼
2023/10/12
5190
ajax与django采用json进行数据交互
1新建django项目名为json_ajax,应用名为app,在templates模板中新建ajax.html文件
菲宇
2019/06/13
2.1K0
比较JavaScript中的数据结构(数组与对象)
大家都说简历没项目写,我就帮大家找了一个项目,还附赠【搭建教程】。 在编程中,如果你想继续深入,数据结构是我们必须要懂的一块, 学习/理解数据结构的动机可能会有所不同,一方面可能是为了面试,一方面可能
前端小智@大迁世界
2020/10/10
5.6K0
比较JavaScript中的数据结构(数组与对象)
js -- 判断数组是否为空?
上面三种判断数组为空的方法虽然大多数情况下都可以用,但依然存在bug,比如令arr[-1] = ''时,数组不为空,但三者都返回true。
小蔚
2020/09/07
20.8K0
Retrofit进行post提交json数据
引入retrofit相关依赖 <dependency> <groupId>com.squareup.retrofit2</groupId> <artifactId>retrofit</artifactId> <version>2.4.0</version> </dependency> <dependency> <groupId>com.squareup.retrofit2</groupId> <artifactId>converter-jackson</artifactId> <version>2.4.0</version> </dependency>
24-丰总
2019/06/11
2.2K0
Retrofit进行post提交json数据
java中判断是否为数组[通俗易懂]
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说java中判断是否为数组,希望能够帮助大家进步!!!
Java架构师必看
2022/01/17
4.9K0
java中判断是否为数组[通俗易懂]
PHP如何将数据库查询结果输出为json格式
近期做接口的时候需要做到一个操作,将数据库查询结果输出为json格式方便程序调用。 于是在网上看到了两种解法,就此分享出来,供大家学习以及自己日后进行参考。 可将其封装成专门将数据转换成json格式的接口
吃猫的鱼Code
2023/02/02
3.4K0
jQuery将json性别数据int类型进行格式化渲染
<!DOCTYPE HTML> <html> <head> <title></title> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="https:
王小婷
2022/01/09
7420
jQuery将json性别数据int类型进行格式化渲染
js 二维数组 添加json数据及js数组与json字符串「建议收藏」
JSON(JavaScript Object Notation )是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,JSON是JavaScript原生数据格式。
全栈程序员站长
2022/09/01
4.5K0
MIT 团队的新测试,将 AI 推理与人类思维进行比较
来源:ScienceAI本文约1800字,建议阅读5分钟潜在的研究领域可能是自动估计 AI 结果中的不确定性。 人工智能获得洞察力和做出决策的方式通常是神秘的,这引发了人们对机器学习的可信度的担忧。现在,在一项新研究中,研究人员揭示了一种新方法,用于比较人工智能软件的推理与人类推理的匹配程度,以便快速分析其行为。 随着机器学习越来越多地在现实世界中得到应用,了解它如何得出结论以及它是否正确变得至关重要。例如,人工智能程序可能似乎准确地预测了皮肤病变是癌性的,但它可能是通过关注临床图像背景中不相关的印迹来做
数据派THU
2022/05/30
3310
MIT 团队的新测试,将 AI 推理与人类思维进行比较
MIT 团队的新测试,将 AI 推理与人类思维进行比较
人工智能获得洞察力和做出决策的方式通常是神秘的,这引发了人们对机器学习的可信度的担忧。现在,在一项新研究中,研究人员揭示了一种新方法,用于比较人工智能软件的推理与人类推理的匹配程度,以便快速分析其行为。
脑机接口社区
2022/09/22
3980
MIT 团队的新测试,将 AI 推理与人类思维进行比较
为 Redis 添加 JSON 数据类型
1. 简介 Redis 本身有比较丰富的数据类型,例如 String、Hash、Set、List JSON 是我们常用的数据类型,当我们需要在 Redis 中保存 json 数据时是怎么存放的呢? 一般是用 String 或者 Hash,但还是不太方便,无法灵活的操作 json 数据 在 Redis 4.0 中,有一个重大改进:modules 模块系统,可以让我们开发新的功能,集成到 redis 中 rejson 就是一个新的模块,为 redis 提供了 json 存储能力 2. 示例 2.1)基础操作
dys
2018/04/04
13.1K0
Sqoop——将关系数据库数据与hadoop数据进行转换的工具
Sqoop的输入输出/导入导出是相对于文件系统HDFS的, 因此HDFS的导入导出如图1,图2
时间静止不是简史
2020/07/24
1.2K0
Sqoop——将关系数据库数据与hadoop数据进行转换的工具
SQLite 判断 JSON 数组是否包含某元素
如果想查询 tag 列中包含 love 的所有行,在 MySQL 中有 JSON_CONTAINS 可以使用,比如下面的 SQL:
恋喵大鲤鱼
2023/10/12
8190
GORM 判断 JSON 数组是否包含某元素
在 MySQL 中,并没有内置的数组数据类型。但是,MySQL 提供了一些可以实现类似数组功能的机制,如使用字符串来存储由逗号分隔的值,使用 JSON 类型来存储数组数据等。
恋喵大鲤鱼
2023/02/23
3.5K0
postman如何通过json数据进行测试
因为笔者最近负责项目的后端开发,所以笔者写完之后就像这来测试我写的这些接口是不是可用,但是又因为我们的项目是前后端分离的,所以不像自己之前那样只要发布到服务器上,就能直接利用页面进行测试,并且前端页面也还没有写好,写的有点慢(小声哔哔),于是被同事介绍使用了一下了postman这个接口测试工具。使用完之后才发觉相见恨晚。 下面我们简单介绍一下postman的页面
萌萌哒的瓤瓤
2020/08/26
1.4K0
postman如何通过json数据进行测试

相似问题

是否将列表/数组与数据帧列进行比较?

320

将列与数据数组进行比较

11

如何使用Shell脚本将Json数据与数组进行比较?

10

将图表序列数组与新数组进行比较,以确定添加/删除

15

将数组与数据库进行比较

23
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档