DateTime 对象在使用 JSON 查询 API 时出现错误

问题描述 投票:0回答:1

我正在使用 OpenTripPlanner(路线映射软件)的实例并使用 JSON 查询其 API。 下面是代码:

headers = {
    'Content-Type': 'application/json',
    'OTPTimeout': '180000',
}

data2 = '{"query" :"query {trip(from: {coordinates: {latitude:  27.94942 longitude:  -82.47202 }}to:\
      {coordinates: {latitude: 27.99107 longitude: -82.45619 }} dateTime: "2024-11-18T14:00:00.000Z") \
        {tripPatterns {duration distance legs{ distance duration id mode}}}}"}'
           

response = requests.post('http://localhost:8080/otp/transmodel/v3', headers = headers, data = data2)

json_string = response.text

错误:

意外字符('2'(代码 50)):需要逗号来分隔对象条目 在[来源:已编辑(`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION`已禁用);行:1,列:167]

我已成功收到其他查询的响应,但这个涉及

datetime
的查询出现错误。 我尝试过使用转义字符串,例如“2024-11-18T14:00:00.000Z”,还使用了 %s 等格式化字符串,然后将值添加到字符串末尾。 我不知道
datetime
是否是一个特殊的对象,或者我是否应该将它作为字符串提供给 api。 任何帮助将不胜感激。

python json datetime opentripplanner
1个回答
0
投票

通常,JSON 条目必须位于引号之间,并且项目必须用逗号分隔:

data2 = '
{"query" :
{
"query":
    trip(
    "from":
        {
        "coordinates":
          {
            "latitude":  27.94942
            ,
            "longitude":  -82.47202
          }
        }
    ,
    "to":
        {
        "coordinates":
          {
          "latitude": 27.99107
          ,
          "longitude": -82.45619
          }
        }
    ,
    "dateTime": "2024-11-18T14:00:00.000Z"
    )
    ,
    
    "tripPatterns":
     {...}
    
}
}'

关于

tripPatterns
键:
{duration distance legs{ distance duration id mode}}
,似乎缺少以下键的值:持续时间、距离、腿、距离、持续时间、id、模式。 我想,你应该这样添加值:
"duration": value, "distance": value
...

© www.soinside.com 2019 - 2024. All rights reserved.