StrongLoop / LoopBack:在其他连接器数据源模板上获得完整的jSON

我试图从谷歌地理编码API得到完整的json响应,所以我可以testing结果“状态”。

从文档:

responsePath:应用于HTTP正文的可选JSONPath。 有关JSONpath的语法,请参阅https://github.com/s3u/JSONPath 。

所以我使用“responsePath”:“$ .. *”,但它得到的响应都搞砸了。

例:

[ [ { "address_components":[ { "long_name":"Caracas", "short_name":"CCS", "types":[ "locality", "political" ] }, { "long_name":"Libertador", "short_name":"Libertador", "types":[ "administrative_area_level_2", "political" ] }, { "long_name":"Capital District", "short_name":"Dto. Capital", "types":[ "administrative_area_level_1", "political" ] }, { "long_name":"Venezuela", "short_name":"VE", "types":[ "country", "political" ] } ], "formatted_address":"Caracas, Venezuela", "geometry":{ "bounds":{ "northeast":{ "lat":10.5401335, "lng":-66.7179533 }, "southwest":{ "lat":10.39665, "lng":-67.0627784 } }, "location":{ "lat":10.4696404, "lng":-66.8037185 }, "location_type":"APPROXIMATE", "viewport":{ "northeast":{ "lat":10.5401335, "lng":-66.7179533 }, "southwest":{ "lat":10.39665, "lng":-67.0627784 } } }, "place_id":"ChIJB0iCza1YKowRg4SZCq4u3ZM", "types":[ "locality", "political" ] }, { "address_components":[ { "long_name":"Venezuela", "short_name":"VE", "types":[ "country", "political" ] } ], "formatted_address":"Venezuela", "geometry":{ "bounds":{ "northeast":{ "lat":12.4866941, "lng":-59.805666 }, "southwest":{ "lat":0.647529, "lng":-73.351558 } }, "location":{ "lat":6.42375, "lng":-66.58973 }, "location_type":"APPROXIMATE", "viewport":{ "northeast":{ "lat":14.470409, "lng":-59.80378 }, "southwest":{ "lat":-4.1438179, "lng":-79.0255611 } } }, "place_id":"ChIJAdjLNstTKIwR003VfFjyoNw", "types":[ "country", "political" ] } ], "OK", { "address_components":[ { "long_name":"Caracas", "short_name":"CCS", "types":[ "locality", "political" ] }, { "long_name":"Libertador", "short_name":"Libertador", "types":[ "administrative_area_level_2", "political" ] }, { "long_name":"Capital District", "short_name":"Dto. Capital", "types":[ "administrative_area_level_1", "political" ] }, { "long_name":"Venezuela", "short_name":"VE", "types":[ "country", "political" ] } ], "formatted_address":"Caracas, Venezuela", "geometry":{ "bounds":{ "northeast":{ "lat":10.5401335, "lng":-66.7179533 }, "southwest":{ "lat":10.39665, "lng":-67.0627784 } }, "location":{ "lat":10.4696404, "lng":-66.8037185 }, "location_type":"APPROXIMATE", "viewport":{ "northeast":{ "lat":10.5401335, "lng":-66.7179533 }, "southwest":{ "lat":10.39665, "lng":-67.0627784 } } }, "place_id":"ChIJB0iCza1YKowRg4SZCq4u3ZM", "types":[ "locality", "political" ] }, { "address_components":[ { "long_name":"Venezuela", "short_name":"VE", "types":[ "country", "political" ] } ], "formatted_address":"Venezuela", "geometry":{ "bounds":{ "northeast":{ "lat":12.4866941, "lng":-59.805666 }, "southwest":{ "lat":0.647529, "lng":-73.351558 } }, "location":{ "lat":6.42375, "lng":-66.58973 }, "location_type":"APPROXIMATE", "viewport":{ "northeast":{ "lat":14.470409, "lng":-59.80378 }, "southwest":{ "lat":-4.1438179, "lng":-79.0255611 } } }, "place_id":"ChIJAdjLNstTKIwR003VfFjyoNw", "types":[ "country", "political" ] }, [ { "long_name":"Caracas", "short_name":"CCS", "types":[ "locality", "political" ] }, { "long_name":"Libertador", "short_name":"Libertador", "types":[ "administrative_area_level_2", "political" ] }, { "long_name":"Capital District", "short_name":"Dto. Capital", "types":[ "administrative_area_level_1", "political" ] }, { "long_name":"Venezuela", "short_name":"VE", "types":[ "country", "political" ] } ], "Caracas, Venezuela", { "bounds":{ "northeast":{ "lat":10.5401335, "lng":-66.7179533 }, "southwest":{ "lat":10.39665, "lng":-67.0627784 } }, "location":{ "lat":10.4696404, "lng":-66.8037185 }, "location_type":"APPROXIMATE", "viewport":{ "northeast":{ "lat":10.5401335, "lng":-66.7179533 }, "southwest":{ "lat":10.39665, "lng":-67.0627784 } } }, "ChIJB0iCza1YKowRg4SZCq4u3ZM", [ "locality", "political" ], { "long_name":"Caracas", "short_name":"CCS", "types":[ "locality", "political" ] }, { "long_name":"Libertador", "short_name":"Libertador", "types":[ "administrative_area_level_2", "political" ] }, { "long_name":"Capital District", "short_name":"Dto. Capital", "types":[ "administrative_area_level_1", "political" ] }, { "long_name":"Venezuela", "short_name":"VE", "types":[ "country", "political" ] }, "Caracas", "CCS", [ "locality", "political" ], "locality", "political", "Libertador", "Libertador", [ "administrative_area_level_2", "political" ], "administrative_area_level_2", "political", "Capital District", "Dto. Capital", [ "administrative_area_level_1", "political" ], "administrative_area_level_1", "political", "Venezuela", "VE", [ "country", "political" ], "country", "political", { "northeast":{ "lat":10.5401335, "lng":-66.7179533 }, "southwest":{ "lat":10.39665, "lng":-67.0627784 } }, { "lat":10.4696404, "lng":-66.8037185 }, "APPROXIMATE", { "northeast":{ "lat":10.5401335, "lng":-66.7179533 }, "southwest":{ "lat":10.39665, "lng":-67.0627784 } }, { "lat":10.5401335, "lng":-66.7179533 }, { "lat":10.39665, "lng":-67.0627784 }, 10.5401335, -66.7179533, 10.39665, -67.0627784, 10.4696404, -66.8037185, { "lat":10.5401335, "lng":-66.7179533 }, { "lat":10.39665, "lng":-67.0627784 }, 10.5401335, -66.7179533, 10.39665, -67.0627784, "locality", "political", [ { "long_name":"Venezuela", "short_name":"VE", "types":[ "country", "political" ] } ], "Venezuela", { "bounds":{ "northeast":{ "lat":12.4866941, "lng":-59.805666 }, "southwest":{ "lat":0.647529, "lng":-73.351558 } }, "location":{ "lat":6.42375, "lng":-66.58973 }, "location_type":"APPROXIMATE", "viewport":{ "northeast":{ "lat":14.470409, "lng":-59.80378 }, "southwest":{ "lat":-4.1438179, "lng":-79.0255611 } } }, "ChIJAdjLNstTKIwR003VfFjyoNw", [ "country", "political" ], { "long_name":"Venezuela", "short_name":"VE", "types":[ "country", "political" ] }, "Venezuela", "VE", [ "country", "political" ], "country", "political", { "northeast":{ "lat":12.4866941, "lng":-59.805666 }, "southwest":{ "lat":0.647529, "lng":-73.351558 } }, { "lat":6.42375, "lng":-66.58973 }, "APPROXIMATE", { "northeast":{ "lat":14.470409, "lng":-59.80378 }, "southwest":{ "lat":-4.1438179, "lng":-79.0255611 } }, { "lat":12.4866941, "lng":-59.805666 }, { "lat":0.647529, "lng":-73.351558 }, 12.4866941, -59.805666, 0.647529, -73.351558, 6.42375, -66.58973, { "lat":14.470409, "lng":-59.80378 }, { "lat":-4.1438179, "lng":-79.0255611 }, 14.470409, -59.80378, -4.1438179, -79.0255611, "country", "political" ] 

好的,现在看来很清楚。 “混乱”响应是应用JSONPathexpression式的结果,其结果是数组,而不是JSON对象。 你可以在这里查看一些例子: https : //github.com/s3u/JSONPath/blob/master/test/test.examples.js

所以,如果你只需要状态,你可以使用这个filter: "responsePath": "$.status" 。 否则,您可以完全删除responsePath并获取原始的JSON对象。