Javascript 使用jQuery解析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

我有一个在线JSON文件,看起来像这样:

[
{
"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中,所以不太清楚。我将在下面写一个例子。。。