jquery中的两个json文件,用于获取数据值,另一个用于数据类型

时间:2014-09-28 13:59:57

标签: javascript jquery json

我正在尝试使用两个json文件。一个用于获取数据的数据类型,另一个用于获取数据的数据值。 由于我不知道如何在一个中使用两个json文件,所以我将一个json值存储在一个变量中。

 var data = {
 “name”: “classxyz”,
 “number”:”abc”,
 Fields : [
    {
 “name”: ”studentname”,
 “marks”:”int”
 “doc”: “failed”
  }
   ]
}

第二个json文件“student.json”

{
“datasvalue”:
[
{
 “studentname”: “Jack”,
 “marks”: “18”,
 “place”: “newyork”
},
{
 “studentname”: “sparrow”,
 “marks”: “12”,
 “place”: “london”
}
]
}

我想从第一个json获取数据类型的值并将其检入第二个json,然后显示在第一个json中获取的数据类型的值。 示例:从第一个json我搜索名称是“studentname”,现在我想打印这个“studentname”作为标签,并在第二个json文件(student.json)中搜索它并在studentname前面打印它的值(麻雀)在文本字段中。 当我打印“标记”时,它应该从第一个json文件中检查它是否具有“int”类型,并从student.json值18中搜索其值。如果我尝试设置任何其他值,则不应让我输入。

到目前为止,我能够做到以下远离我必须做的事情。

我们不能在一个程序中使用两个json吗?为什么.inArray不是这样工作的?

 function ViewData()
 {
   function toArray(obj) {
          var result = [];
            for (var key2 in obj) {
            var value = obj[key2];
            result.push(key2);
            if (typeof value === 'object') {
                      result.push(toArray(value));
                } else {
                    result.push(value);
                }
                $('#stage').append('<p>'+ key2+'  : '+ "<input id=\"txtv\" type=\"text\" value=\""+value+"\"/>"); 
             }  
        return result;
    }
        var arra =[];
    arra = JSON.strigify(toArray(data));
    $('#stage1').html('<p>'+arra + "<br>"+'</p>');
    //$('#stage1':contains('day'));
  }
    $.getJSON('student.json',
        function(datas)
        {
           // Create an array to hold the data.
            var items = [];
            var storeName=[];
            var storeValue=[];
           // Parse the data by looking at each entry in the dates object.
            $.each(datas.datasvalue,
               function(key1, value1)
                 {  
                    var i=0;
                    $.each(value1, function(key,value){
                    storeName[i]= key;
                    storeValue[i] = value;               
                    $('#stage2').each(function(){
                //      if($.inArray(key.text(),arra)){
                            alert($.inArray(key,arra));
                            $(this).append('<p>'+ key+'  : '+ "<input id=\"txtv\" type=\"text\" value=\""+value+"\"/>");
                    //  }

                    }); // end of stage each funtion              
                    i++;
                }); // end of value and key funtion
            }); // end of value1 function    
          }); // end of function (data)

0 个答案:

没有答案