我正在尝试使用两个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)