使用JSON和JQuery从变量解析数据

时间:2014-05-07 20:38:29

标签: javascript jquery json

我正在尝试使用JSON请求变量的值,但是我的JSON代码有问题,我不知道它是什么。任何人都可以给我一些提示吗?

JSON代码:

{
"counter1": {
        "variable": :="webdata".counter1:
        },
"counter2": {
        "variable": :="webdata".counter2:
        },
}

JQuery代码:

$(document).ready(function(){
    $.ajaxSetup({ cache: false }); 
setInterval(function() {
    $.getJSON("json_data.json", function(result){
        $('#counter1').text((result.variable[0]).trim());
    $.getJSON("json_data.json", function(result){
        $('#counter1').text((result.variable[0]).trim());
    });
},1000);
});

HTML code:

<p label="counter1">0</p>
<p label="counter2">0</p>

提前致谢!

2 个答案:

答案 0 :(得分:0)

你的JSON不是唯一错误的东西。为什么要在Javascript中调用相同的代码两次(你称之为jQuery)

&#34;标签&#34;属于你的&#34; p&#34;元素是错误的应该是&#34; id&#34;。

我不确定是什么产生了JSON,但这是实现目标的可能方式。

将JSON输出更改为:

{
"counters": [
    {
        "variable" : "COUNTER 1_VARIABLE"
    },
    {
        "variable" : "COUNTER2_VARIABLE"
    }
]
}

所有大写的位置应该是变量的内容,因为这是序列化输出

JQuery代码:

$(document).ready(function(){
$.ajaxSetup({ cache: false }); 
setInterval(function() {
$.getJSON("json_data.json", function(result){
$('#counter1').text((result.counters[0].variable).trim());
$.getJSON("json_data.json", function(result){
    $('#counter2').text((result.counters[1].variable).trim());
});
},1000);
});

值得注意的是使用&#34; $。ajaxSetup()&#34;在文档中不鼓励。 https://api.jquery.com/jquery.ajaxsetup/

HTML code:

<p id="counter1">0</p>
<p id="counter2">0</p>

答案 1 :(得分:0)

首先,感谢大家的快速回答。

我设法让JSON工作如下:(尽管我还有问题)

JSON代码(json / json_data.json):

{
    "counters": [
        {
            "variable": ":='webdata'.counter1:"
        },
        {
            "variable": ":='webdata'.counter2:"
        }
    ]
}

JQuery代码(my_script.js):

$(document).ready(function(){
    $.ajaxSetup({ cache: false }); 
setInterval(function() {
    $.getJSON("json/json_data.json", function(result){
        $('#counter0').text(result.counters[0].variable);
    });
},1000);
});

HTML code(index.htm):

<tr>
    <td>PT000</td>
    <td>Process value 0</td>
    <td> <label id="counter0">0</label> </td>
    <td>bar</td>
</tr>

现在重点是我在屏幕上打印的JSON中写入文本,这是我的变量的名称,我们可以说是达到我想要打印的值的路径。

重点是,如果我使用HTM文件并在其上写入变量的名称然后我只是使用JQuery来获取它的数据,但我有很多值我要打印的值,所以我想JSON可以帮助我解决这个问题。这里是HTM文件的示例:

HTM代码(IOValue1.htm):

:="webdata".counter1:

JQuery代码(my_script.js):

$(document).ready(function(){
    $.ajaxSetup({ cache: false }); 
setInterval(function() {
    $.get("IOValue1.htm", function(result){
        $('#counter1').text((result));
    });
},1000);
});

HTML code(index.htm):

<tr>
    <td>PT001</td>
    <td>Process value 1</td>
    <td> <label id="counter1">0</label> </td>
    <td>bar</td>
</tr>

可能我没有考虑JSON的一些基本事实,但我没有太多经验。有什么想法吗?