2014-12-07 58 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代码中创建。