我正在尝试使用https://github.com/dcodeIO/ProtoBuf.js来解析 triments gtfs 数据。
这是我到目前为止的代码,它正确解析 .proto 文件并创建构建器并具有所有预期的属性和方法,当我尝试使用它解码任何数据时会引发错误。
Error: Data must be corrupt: Buffer overrun
原型文件来自https://developers.google.com/transit/gtfs-realtime/gtfs-realtime-proto
var ProtoBuf = require('protobufjs')
, request = require('request')
var transit = ProtoBuf.protoFromFile('gtfs-realtime.proto').build('transit_realtime')
request('http://developer.trimet.org/ws/V1/FeedSpecAlerts/?appID=618F30BB3062F39AF24AED9EC', parse)
function parse(err, res, body) {
try {
console.log(transit.FeedMessage.decode(res.body))
} catch(e) {
console.log(e)
}
}
感谢 Brian Ferris,我能够解析标题的第一部分,gtfs_realtime_version: "1"
但解析器在下一个组件上失败(时间戳 uint64)
谢谢