2014-05-10 137 views
0

我試圖從JSON文件parce中獲取文本並將該文本顯示爲HTML對象。但我把它看作是一個字符串。將文本從JavaScript轉換爲HTML

我有一個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代碼(index.htm):

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

現在重點是我得到了用JSON打印在屏幕上的文本,這是我的變量的名稱,我們可以說是達到我想要打印的值的路徑。另一方面,如果我使用HTML文件並在其上寫上變量的名稱,然後我簡單地使用jQuery來獲取它的工作數據,但是我有很多值要打印出來,所以我認爲JSON可以幫助我解決這個問題。這裏用的HTML文件的實例:

HTML代碼(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代碼(index.htm的):

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

大概我沒有考慮JavaScript是如何處理從JSON文件中獲得的字符串的。任何人有想法?

+0

看一看Knockout.JS它是一個HTML數據綁定框架 –

+0

我也強烈建議使用Knockoutjs,就像@ No1_Melman說。這很容易學習,並有一個很好的文檔。 –

回答

0

變化

$('#counter0').text(result.counters[0].variable); 

var tmpArray = result["counters"]; 

var counterObject = tmpArray[0]; 

var variableValue = counterObject["variable"]; 

$('#counter0').text(variableValue); 
+0

謝謝哈米德!儘管結果是一樣的。 brouser顯示存儲在JSON文件中的文本,但不是HTML應該從該文本中解釋的內容。 –