仅绘制 JSON 输出的一部分

Graph only a part of JSON output

本文关键字:一部分 输出 JSON 绘制      更新时间:2023-09-26

让我首先说我开始使用javascript和jquery,所以我对它们了解不多,在这里说的是问题:

我正在生成一个 JSON 字符串,该字符串采用 arduino 引脚的状态。它所在的字符串:

{ "02":0, "03":0, "04":0, "05":0, "06":0, "07":0, "08":0, "09":0, "10":0, "11":0, "12":0, "13":0, "14":756, "15":745, "16":722, "17":679, "18":634, "19":494 }

字符串的第一部分(02 到 13(属于数字引脚,我不需要,第二部分(14 到 19(是类似引脚,这是我需要绘制的那些,其他事情是我对 JSON 字符串进行编程以每 5 秒更新一次,所以这就是我需要绘制的东西,但我真的不知道该怎么做

更新 (11/10/2013(

让我澄清一下我的问题,我正在使用jquery和jquery mobile制作一个移动网页,在该网页中,我正在获取来自arduino的数据,这是温度,我能够显示温度的值,但我喜欢制作这些值的图表(温度与时间(, 并在页面中显示它们。就像我之前说的,我对 Web 开发真的一无所知,所以我不知道如何实现该图。这就是我显示温度的方式

function value_update(data) {
$.each(data, function (index, value) {
    if(parseInt(index)=>13) {
    $('#P'+index).text(((5*value*100)/1024).toFixed(1)+" °C");
    }
});

这就是我把它放在 html 中的方式

<label><b>TEMPERATURE A0</b></label>
<span class="inputvalue" name="P14" id="P14">0</span>

请帮忙!!!

要过滤数据,您可以执行以下操作:

var data = { "02":0, "03":0, "04":0, "05":0, "06":0, "07":0, "08":0, "09":0, "10":0, "11":0, "12":0, "13":0, "14":756, "15":745, "16":722, "17":679, "18":634, "19":494 };
var toGraph = {};
$.each(data,function(key,value){
    if(key >= 14){
        toGraph[key] = value;
    }
});
//toGraph now holds the wanted data: 
console.log(toGraph); //Outputs Object {14: 756, 15: 745, 16: 722, 17: 679, 18: 634, 19: 494} 

您可以通过两种方法解决第一部分。

第一个是创建一个值字符串,并使用 .substring,准确获取您正在寻找的值。

第二个,也可能是最好的一个,是将所有值存储在一个数组中,然后通过数组值位置提取您正在寻找的值。如果您最终需要一个值字符串,则可以将数组值转换为字符串。在数据灵活性方面,我会说数组到字符串是要走的路,以防万一您将来想对这些值做其他事情。

对于自定义刷新设置,一个简单的 setInterval(( 就可以了。

对于Javascript的初学者课程,我建议查看codeacademy。