Javascript 使用jQuery解析JSON,检索两个变量。
我有一个在线JSON文件,看起来像这样:Javascript 使用jQuery解析JSON,检索两个变量。,javascript,json,Javascript,Json,我有一个在线JSON文件,看起来像这样: [ { "j": 0, "i": 0, "DepartureTime": "\/Date(1331667480000+0100)\/", "ArrivalTime": "\/Date(1331668860000+0100)\/", "Remarks": [], "TravelStages": [ { "ID": 0, "DepartureStop": { "WalkingDistance": 0, "Arriv
[
{
"j": 0,
"i": 0,
"DepartureTime": "\/Date(1331667480000+0100)\/",
"ArrivalTime": "\/Date(1331668860000+0100)\/",
"Remarks": [],
"TravelStages": [
{
"ID": 0,
"DepartureStop": {
"WalkingDistance": 0,
"ArrivalTime": null,
"AlightingAllowed": false,
"DepartureTime": null,
"BoardingAllowed": false,
"RealTimeStop": true,
"Rank": 0,
"Lines": null,
"StopPoints": [
{
"ID": 1,
"Name": "1",
"X": 608127,
"Y": 6645778
}
],
"Zone": "1",
"X": 608133,
"Y": 6645768,
"ID": 2300500,
"Name": "Visperud (i Solheimvn)",
"District": "Lørenskog",
"Type": 0,
"Stops": [],
"ShortName": "VIS"
}]
我想要的是抓取出发时间和到达时间,我已经看到了一些关于如何解析flickr JSON的示例。但我不知道如何解析这个。我还想将出发时间和到达时间存储在两个单独的变量中,因为这两个变量的内容是自1970年以来以毫秒为单位测量的时间。有人能给我一个提示吗?我对Javascript/JSON一无所知,你的项目中有jQuery吗?如果是这样,您可以像这样轻松地解析JSON字符串
var obj = $.parseJSON(theJsonText);
alert(obj.DepartureTime);
如果没有,我建议包括JSON库()并使用它。您的项目中有jQuery吗?如果是这样,您可以像这样轻松地解析JSON字符串
var obj = $.parseJSON(theJsonText);
alert(obj.DepartureTime);
如果没有,我建议包括JSON库()并使用它。假设您的JSON文件位于
jsonfile.JSON
$.getJSON('jsonfile.json', function(data){
alert("Departure Time: "+ data.DepartureTime);
alert("Arrival Time: "+ data.ArrivalTime);
});
假设您的json文件位于
jsonfile.json
$.getJSON('jsonfile.json', function(data){
alert("Departure Time: "+ data.DepartureTime);
alert("Arrival Time: "+ data.ArrivalTime);
});
然后用字符串“\/Date(1331667480000+0100)\/”
和“\/Date(1331668860000+0100)\/”
调用使用(str,str)
。
您仍然需要将日期转换为数字,例如运行:
parsed_date=new Date(parseInt(input_string.substr(7)));
//substr(7) cuts after "\/Date(", and parseInt ignores ")\/"
//but I don't know how it handles "+0100"
然后用字符串“\/Date(1331667480000+0100)\/”
和“\/Date(1331668860000+0100)\/”
调用使用(str,str)
。
您仍然需要将日期转换为数字,例如运行:
parsed_date=new Date(parseInt(input_string.substr(7)));
//substr(7) cuts after "\/Date(", and parseInt ignores ")\/"
//but I don't know how it handles "+0100"
这是一个包含对象的数组,因此您应该能够将一些变量设置为等于第一个索引的属性。要像使用对象一样使用它,需要对其进行解析。。因此,可以选择eval(thatJson)或$.parseJSON(thatJson),然后对其进行迭代
var responses = [
{
"j": 0,
"i": 0,
"DepartureTime": "\/Date(1331667480000+0100)\/",
"ArrivalTime": "\/Date(1331668860000+0100)\/",
"Remarks": [],
...
}];
var dep = responses[0].DepartureTime;
var arr = responses[0].ArrivalTime;
这是一个包含对象的数组,因此您应该能够将一些变量设置为等于第一个索引的属性。要像使用对象一样使用它,需要对其进行解析。。因此,可以选择eval(thatJson)或$.parseJSON(thatJson),然后对其进行迭代
var responses = [
{
"j": 0,
"i": 0,
"DepartureTime": "\/Date(1331667480000+0100)\/",
"ArrivalTime": "\/Date(1331668860000+0100)\/",
"Remarks": [],
...
}];
var dep = responses[0].DepartureTime;
var arr = responses[0].ArrivalTime;
根据JSONLint.com,您的字符串不是有效的JSON。然而,这是一个不同于你的问题所要求的问题 假设字符串的有效子集
var a = '[{"j": 0,"i": 0,"DepartureTime": "/Date(1331667480000+0100)/", "ArrivalTime": "/Date(1331668860000+0100)/","Remarks": []}]';
var obj = $.parseJSON(a);
console.log(obj[0].ArrivalTime);
根据JSONLint.com,您的字符串不是有效的JSON。然而,这是一个不同于你的问题所要求的问题 假设字符串的有效子集
var a = '[{"j": 0,"i": 0,"DepartureTime": "/Date(1331667480000+0100)/", "ArrivalTime": "/Date(1331668860000+0100)/","Remarks": []}]';
var obj = $.parseJSON(a);
console.log(obj[0].ArrivalTime);
根据JSONLint,这不是有效的JSON。comit是我JSON文件的一部分,但发布她的时间太长。根据JSONLint,这不是有效的JSON。comit是我JSON文件的一部分,但发布她的时间太长。但是我如何指定URL?只是替换参数?:)什么网址?你没说你没有绳子。然后您需要AJAX来获得它。。。请澄清你的问题:你不想解析JSON,你想下载并解析JSON。他说他有一个在线JSON文件,因此需要下载。正如我的第一句话所说:“我有一个类似这样的在线JSON文件”,所以我需要下载并解析它。但是这个文件是不断更新的,所以在这种情况下我不能只下载一次。是的,但是很多PHP脚本直接将json转储到生成的javascript中,所以不太清楚。我将在下面写一个例子…但是如何指定URL?只是替换参数?:)什么网址?你没说你没有绳子。然后您需要AJAX来获得它。。。请澄清你的问题:你不想解析JSON,你想下载并解析JSON。他说他有一个在线JSON文件,因此需要下载。正如我的第一句话所说:“我有一个类似这样的在线JSON文件”,所以我需要下载并解析它。但是这个文件是不断更新的,所以在这种情况下我不能只下载一次。是的,但是很多PHP脚本直接将json转储到生成的javascript中,所以不太清楚。我将在下面写一个例子。。。