对于XML,makeWebRequest失败,在Garmin Connect IQ上没问题JSON

时间:2016-08-21 05:56:21

标签: garmin connectiq

我在makeWebRequest函数的试错中花了很多时间。使用非常简单的服务,它适用于JSON,但不适用于XML。

var url = "http://www.broadbandmap.gov/broadbandmap/demographic/jun2014/nation";
// WORKS
Comm.makeWebRequest(url, {"format" => "json"}, {}, method(:onReceive));
// FAILS for XML with responseCode "Failed to load Error: -400"
Comm.makeWebRequest(url, {}, {}, method(:onReceive));

对于XML场景,我尝试了各种不同的选项,但总是失败。谁可以成为一个有效的榜样?

1 个答案:

答案 0 :(得分:0)

是否应该支持XML?从我从文档中收集的内容来看,它不是:

  

:responseType(Number) - 响应的格式。应该是   HTTP_RESPONSE_CONTENT_TYPE_ *值。如果没有给出,系统会   尝试首先将响应解析为JSON,然后解析为URL ENCODED

https://developer.garmin.com/downloads/connect-iq/monkey-c/doc/Toybox/Communications.html#makeWebRequest-instance_method

页面上甚至没有提到过XML。

如果确实是你想要使用的API(而不仅仅是一个例子),你有什么理由不能以JSON格式请求和处理响应吗?

http://www.broadbandmap.gov/broadbandmap/demographic/jun2014/nation?format=json