2014-12-07 55 views
1

我有javascript文件中的JSON數據存儲在subject.js:要獲得從Javascript JSON數據文件

Subject.js 例子:

Teacher = { 
    "Eng" : "English", 
    "Math" : "Maths", 
    "Sci" : "Science", 
    "SST" : "Social Studies", 
    "Hin" : "Hindi" 
}; 

我想讀取該JSON數據js文件導入另一個js文件。

但我瞭解到$.getJSON('filename.json', function(data) {用於從json文件中獲取數據,但是我的json數據存儲在js文件中。任何人都可以告訴我如何開始?我嘗試使用getJson,但無法讓它工作。

回答

0

有兩種可能性:

  1. 文件可以只包含並使用老師的變量,如果你跑了getJSON功能。
  2. Teacher =和末尾的分號可以刪除(驗證它是否是正確的JSON結構)並將文件另存爲.json。假設你的服務器將發送一個JSON文件,這應該允許文件被請求。
+0

Thanks.If我遵循你的第一點,那麼我是否需要使用getJson來讀取數據? – 2014-12-07 19:36:03

+0

否...只需使用該變量;即'Teacher.Eng'或'Teacher.Math' – rfornal 2014-12-07 20:23:50

0

取出varibale聲明"Teacher ="和你JS成爲JSON內容可由$.getJSON

+0

但是在mY js文件中,我有很多變量,比如teacher.example:標記,百分比等等,因此刪除老師不會工作 – 2014-12-07 19:34:59

+0

您可以去掉這些變量聲明並將它們的內容拆分爲幾個json文件。 – elsadek 2014-12-07 19:45:23

0

叫你只需要包括具有相同頁面的另一隻放在教師的定義文件JS文件。然後您將可以訪問Subject.js中定義的變量。例如:

<script src="Subject.js"></script> 
<script> 
    console.log(Teacher.Sci) 
</script> 

將輸出Science到JavaScript控制檯。

JSON在Javascript中不是它自己的類型,它只是用於定義簡單的Javascript對象的特定語法。 JSON代表Ĵ AVA 小號 CRIPT ö bject Ñ浮選。這就是你們的榜樣的JSON部分:

{ 
    "Eng" : "English", 
    "Math" : "Maths", 
    "Sci" : "Science", 
    "SST" : "Social Studies", 
    "Hin" : "Hindi" 
} 

所以當你設置一個變量等於一個JSON塊作爲你的榜樣,你正在創建這些屬性的對象。因此,您可以簡單地像對待任何其他JavaScript對象那樣對待該JSON對象。你提供的代碼是相同的,如下所示:

Teacher = new Object(); 
Teacher.Eng = "English"; 
Teacher.Math = "Maths"; 
Teacher.Sci = "Science"; 
Teacher.SST = "Social Studies"; 
Teacher.Hin = "Hindi"; 

$.getJSON,在另一方面,被用於轉換的文本文件(或文件輸出)在JSON符號成javascript對象,但這不是必要在這種情況下,因爲您的JSON對象已經在javascript代碼中創建。