Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.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 解析JSON字符串并获取键值_Javascript_Jquery_Json - Fatal编程技术网

Javascript 解析JSON字符串并获取键值

Javascript 解析JSON字符串并获取键值,javascript,jquery,json,Javascript,Jquery,Json,我有以下几个问题 [{ "GameID":"1109100", "StartTime": "4:00 PM", "EndTime": "1/1/1900 5:30:00 PM", "Duration": "90","TeamID":"101567"},{ "GameID":"1108768", "StartTime": "12:00 PM", "EndTime": "1/1/1900 1:30:00 PM", "Duration": "90","TeamID":"109873"},{ "Game

我有以下几个问题

[{ "GameID":"1109100", "StartTime": "4:00 PM", "EndTime": "1/1/1900 5:30:00 PM", "Duration": "90","TeamID":"101567"},{ "GameID":"1108768", "StartTime": "12:00 PM", "EndTime": "1/1/1900 1:30:00 PM", "Duration": "90","TeamID":"109873"},{ "GameID":"1108776", "StartTime": "12:00 PM", "EndTime": "1/1/1900 1:30:00 PM", "Duration": "90","TeamID":"117674"},{ "GameID":"1108742", "StartTime": "9:00 AM", "EndTime": "1/1/1900 10:30:00 AM", "Duration": "90","TeamID":"24621"},{ "GameID":"1108751", "StartTime": "9:00 AM", "EndTime": "1/1/1900 10:30:00 AM", "Duration": "90","TeamID":"24622"},{ "GameID":"1108757", "StartTime": "10:30 AM", "EndTime": "1/1/1900 12:00:00 PM", "Duration": "90","TeamID":"24623"},{ "GameID":"1109098", "StartTime": "2:30 PM", "EndTime": "1/1/1900 4:00:00 PM", "Duration": "90","TeamID":"24746"}] 
我想使用TeamID获取游戏id、开始时间和结束时间值。我该怎么做

Edit:从注释解析JSON的实际函数

function doParseTime(msg){ 
    var data = $.parseJSON(msg); 
    $.each(data, function() { 
        $.each(this, function(key, val){ 
            $("#"+key).val(val); 
        }); 
    }); 
}

下面是如何访问json密钥的简单代码片段:

$(document).ready(function(){

msg = '[{ "GameID":"1109100", "StartTime": "4:00 PM", "EndTime": "1/1/1900 5:30:00 PM", "Duration": "90","TeamID":"101567"},{ "GameID":"1108768", "StartTime": "12:00 PM", "EndTime": "1/1/1900 1:30:00 PM", "Duration": "90","TeamID":"109873"},{ "GameID":"1108776", "StartTime": "12:00 PM", "EndTime": "1/1/1900 1:30:00 PM", "Duration": "90","TeamID":"117674"},{ "GameID":"1108742", "StartTime": "9:00 AM", "EndTime": "1/1/1900 10:30:00 AM", "Duration": "90","TeamID":"24621"},{ "GameID":"1108751", "StartTime": "9:00 AM", "EndTime": "1/1/1900 10:30:00 AM", "Duration": "90","TeamID":"24622"},{ "GameID":"1108757", "StartTime": "10:30 AM", "EndTime": "1/1/1900 12:00:00 PM", "Duration": "90","TeamID":"24623"},{ "GameID":"1109098", "StartTime": "2:30 PM", "EndTime": "1/1/1900 4:00:00 PM", "Duration": "90","TeamID":"24746"}] ';


$.each(JSON.parse(msg), function(idx, obj) {
    var gameid = obj.GameID;
    var starttime = obj.StartTime;
    var endtime = obj.EndTime;
});

});
下次请在google上阅读更多关于使用jquery或javascript解析和访问json的内容;)

试试看,然后

var data='[{“GameID”:“1109100”,“StartTime”:“4:00 PM”,“EndTime”:“1/1/1900 5:30 PM”,“Duration”:“90”,“TeamID”:“101567”},{“GameID”:“1108768”,“StartTime”:“12:00 PM”,“EndTime”:“1/1/1900 1:30 PM”,“Duration”:“90”,“TeamID”:“109873”},{“GameID”:“1108776”,“StartTime”:“12:00 PM”,“EndTime”:“1/1/1900 1:30 PM”,“Duration”:“90”,“TeamID:”117674“},{“GameID:”1108742“,”开始时间“:”9:00 AM“,”结束时间“:”1900年1月10:30 AM“,”持续时间“,”90“,”TeamID:”24621“},{“GameID:”1108751“,”开始时间“:”9:00 AM“,”结束时间“:”1900年1月1日10:30 AM“,”持续时间“,”90“,”TeamID:”24622“,”1108757“,”开始时间“,”10:30 AM“,”结束时间“,”1/1/12:00 PM“,”持续时间“,”90”,TeamID:“24623”},{“GameID:“1109098”,“开始时间:”“下午2:30”,“结束时间:”“1900年1月1日下午4:00”,“持续时间:”“90”,“TeamID:”“24746”}];
函数查找(id){
var f=JSON.parse(data).filter(a=>a.TeamID==id)//它将显示匹配的TeamID
return f.map(a=>{return{
GameID:a.GameID,
开始时间:a.开始时间,
结束时间:a.结束时间,
}})//它使用三个键值添加压缩,并迭代所有匹配对象的
}
console.log(查找(109873))
var yourJsonStr='[{“GameID”:“1109100”,“StartTime”:“4:00 PM”,“EndTime”:“1/1/1900 5:30 PM”,“Duration”:“90”,“TeamID”:“101567”},{“GameID”:“1108768”,“StartTime”:“12:00 PM”,“EndTime”:“1/1/1900 1:30 PM”,“Duration”:“90”,“TeamID”:“109873”},“GameID”:“1108776”,“StartTime”:“12:00 PM”,“EndTime”:“1/1/1900 1:30 PM”,“Duration”:“90”,“TeamID:”117674“},{“GameID:”1108742“,”StartTime:”9:00 AM“,”EndTime:”1/1/1900 10:30 AM“,”Duration:”90“,”TeamID:”24621“},{“GameID:”1108751“,”StartTime:”9:00 AM“,”EndTime:”1/1/1900 10:30 AM“,”Duration:”90“,”TeamID:”24622“,{“GameID:”1108757“,”StartTime:”10:30 AM“,”EndTime:”1/1/1900 12:00 PM“,”Duration”:“90”,“TeamID:“24623”},{“GameID:“1109098”,“开始时间:”“下午2:30”,“结束时间:”“1900年1月1日下午4:00”,“持续时间:”“90”,“TeamID:”“24746”}];
var gameInfo=eval(“+yourJsonStr+”);
$。每个(游戏信息、功能(i、项目){
$('#gameId')。追加((i+1)+“:“+item.gameId+”
); });
如果JSON是字符串,则解析它,然后使用

从文档中:

find()方法返回数组中第一个元素的值 满足提供的测试功能。否则未定义 返回

let json=json.parse(yourJsonString);
让teamID=yourTeamID;
//json是javascript对象的数组。用“find”遍历它们;
//这将返回表达式计算结果为true的第一个实例
让foundObject=json.find(obj=>{
返回对象TeamID==TeamID;
});
让gameID=foundObject.gameID;
让startTime=foundObject.startTime;
让endTime=foundObject.endTime;

Hum..each(data,function(){$.each(this,function(key,val){$(“#“+key).val(val);})请将代码添加到您的问题中,而不是添加到注释中。代码的输出是什么?您有什么错误?您是否看到了
JSON.parse
?你知道如何访问对象的属性或循环数组吗?@RaviBhartiya Great。那么请将我的评论标记为已完成。谢谢