我正在使用 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
错误:
Unexpected character ('2' (code 50)): was expecting comma to separate Object entries
at [Source: REDACTED (`StreamReadFeature.INCLUDE_SOURCE_IN_LOCATION` disabled); line: 1, column: 167]
我已成功收到其他查询的响应,但这个涉及日期时间的查询出错了。 我尝试过使用转义字符串,例如“2024-11-18T14:00:00.000Z”,还使用了 %s 等格式化字符串,然后将值添加到字符串末尾。 我不知道日期时间是否是一个特殊对象,或者我是否应该将它作为字符串提供给 api。 任何帮助将不胜感激。
项目必须用逗号分隔:
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}}}}"}'
关于
tripPatterns
键:似乎缺少键的值:持续时间、距离、腿、距离、持续时间、id、模式。
我想,你应该这样添加值:
"duration": value, "distance": value
...