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。那么请将我的评论标记为已完成。谢谢