Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery中有两个json文件,一个用于获取数据值,另一个用于获取数据类型_Javascript_Jquery_Json - Fatal编程技术网

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

Javascript jquery中有两个json文件,一个用于获取数据值,另一个用于获取数据类型,javascript,jquery,json,Javascript,Jquery,Json,我正在尝试使用两个json文件。一个用于获取数据的数据类型,另一个用于获取数据的数据值。 因为我不知道如何在一个json文件中使用两个json文件,所以我在一个变量中存储了一个json值 var data = { “name”: “classxyz”, “number”:”abc”, Fields : [ { “name”: ”studentname”, “marks”:”int” “doc”: “failed” } ] } 第二个json文件“student.

我正在尝试使用两个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)中搜索它,并在textfield中的studentname前面打印它的值(sparrow)。 当我打印“marks”时,它应该从第一个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)
函数ViewData()
{
功能到阵列(obj){
var结果=[];
用于(obj中的var键2){
var值=对象[key2];
结果。按下(键2);
如果(值的类型==='object'){
结果.推送(到阵列(值));
}否则{
结果:推(值);
}
$(“#stage”).append(“”+key2+”:“+”);
}  
返回结果;
}
var arra=[];
arra=JSON.strigify(toArray(data));
$('#stage1').html(''+arra+“
'+'

'); //$(#stage1):包含('day'); } $.getJSON('student.json', 功能(数据) { //创建一个数组来保存数据。 var项目=[]; var storeName=[]; var-storeValue=[]; //通过查看dates对象中的每个条目来解析数据。 $。每个(datas.datasvalue, 功能(键1,值1) { var i=0; $。每个(值1,函数(键,值){ storeName[i]=密钥; storeValue[i]=价值; $('#stage2')。每个(函数(){ //if($.inArray(key.text(),arra)){ 警报($.inArray(key,arra)); $(this.append(“”+key+”:“+”); // } });//每个功能的阶段结束 i++; });//值的结尾和键函数 });//value1函数的结尾 }); // 功能结束(数据)
这很复杂。谢谢你的评论。不再感到愚蠢:)我正在做一些复杂的事情:)哈哈!是的——去过那里/做过那件事。有时,使事情变得完整就是使事情变得太复杂。通过对模式进行硬编码,您可能可以减少大量代码和复杂性。或者重新构建您的数据。例如,如果数据在数据库中,您会这样做吗?对不起,很遗憾,我无法更改数据结构:(我必须这样做。