Я пытаюсь создать приложение погоды с использованием API, предоставляемого http://www.weather.com.cnКак я могу разобрать Json в livecode?
У меня есть три элемента в моем стеке, поле "weatherdata", поле "city" и кнопка. Идея заключается в том, что файл «cities.txt», сохраненный на рабочем столе, сохранил название города с его соответствующим кодом, который идентичен API. Что-то вроде этого:
101010100=Beijing
101010300=Chaoyang
101010400=Shuangyi
101010500=Huairou
101010600=Tongzhou
101010700=Changping
101010800=Yanqing
АНИ является ссылка: http://m.weather.com.cn/data/(city code.html)
Например, если я хочу, чтобы сведения о погоде в Beijng ссылка будет выглядеть следующим образом:
http://m.weather.com.cn/data/101110101.html
, когда попадают в ссылке, его будет предоставлять данные о погоде в формате JSON, как:
{"weatherinfo":{"city":"西安","city_en":"xian","date_y":"2014年3月4日","date":"","week":"星期二","fchh":"11","cityid":"101110101","temp1":"13℃~3℃"...}
И я хочу, чтобы мое приложение, чтобы собрать информацию от того, появляется только конкретная информация в соответствующеге ng.
В принципе, я хочу, когда я нахожу Пекин в поле города и нажимаю кнопку, приложение заменит часть (city code.html) на соответствующую форму кода города «cities.txt». И тогда поле «weatherdata» отобразит информацию, предоставленную API, в формате, который мы могли бы прочитать.
До сих пор я копировал EasyJSON в свой StackScript. И мой код кнопки выглядит следующим образом:
on mouseUp
put the text of fld "city" into tCityName
put specialFolderPath("desktop") & "/cities.txt" into tFilePath
put textDecode(tCityList,"UTF8") into tCityList
put lineOffset("=" & tCityName & cr,tCityList & cr) into tFoundLine
set the itemDelimiter to "="
put item 1 of line tFoundLine of tCityList into tCityCode
put "http://m.weather.com.cn/data/" & tCityCode & ".html" into tURL
put URL tURL into tRawJSON
put textDecode(tRawJSON,"UTF8") into fld "weatherdata"
end mouseUp
Однако, он не работает, за исключением того, в области данных о погоде это обнаружилось:
<html>
<head>
</head>
<body>
<script type="text/javascript">
window.onload = function() {
window.open("/","_self");
};
</script>
<!-- START WRating v1.0 -->
<script type="text/javascript" src="http://c.wrating.com/a1.js">
</script>
<script type="text/javascript">
var vjAcc="860010-2151010100";
var wrUrl="http://c.wrating.com/";
vjTrack("");
</script>
<noscript><img src="http://c.wrating.com/a.gif?a=&c=860010-2151010100"width="1" height="1"/>
</noscript>
<!-- END WRating v1.0 -->
</body>
</html>
Я действительно запутался и не знаю, как исправить, может кто-то пожалуйста, пожалуйста, помогите мне?