所以我部分实现的是设置一个从这种形式的天气网站获取JSON文本的应用程序:
{
"base": "stations",
"clouds": {
"all": 20
},
"cod": 200,
"coord": {
"lat": 40.94,
"lon": 24.41
},
"dt": 1513711200,
"id": 735861,
"main": {
"humidity": 100,
"pressure": 1027,
"temp": 274.15,
"temp_max": 274.15,
"temp_min": 274.15
},
"name": "Kavala",
"sys": {
"country": "GR",
"id": 5684,
"message": 0.0039,
"sunrise": 1513662178,
"sunset": 1513695412,
"type": 1
},
"visibility": 10000,
"weather": [
{
"description": "few clouds",
"icon": "02n",
"id": 801,
"main": "Clouds"
}
],
"wind": {
"deg": 51.0029,
"speed": 3.07}}
将其解码为一个列表并将结果存储在app中的一些标签盒中。我想从这个JSON中使用的值是:
(" main":{" temp":}," weather":{" main":},"主要":{"湿度":},"风":{"速度}"。
我使用集成的json解码功能和App Inventor的索引非常有效地完成了这项工作。
(屏幕红色指针应该是"天气":{"主要":}值)
我的问题是,对于某些城市(应用搜索用户输入的城市名称中的数据)"天气":{" main":}和&#的索引34;风" {"速度}"是不同的。 有什么办法可以为这个问题设置检查程序吗?
例如,对于"天气":{" main":}通常的索引,因为它可以在我的代码(图像)中看到是创建的11 2 1 4 2对于具有不同索引并以错误回应的城市,我认为它是10 2 1 4 2。
目标:所以我想要做的是找到一种方法来检查11 2 1 4 2上的元素是否存在所以我可以使用它,否则查找索引为10 2 1 4 2的元素。< / p>
更新:目标已完成尽管JSON畸形2依赖查找成对修正了问题!
答案 0 :(得分:1)
不要像目前那样使用嵌套的选择列表项块... 更好的方法是使用成对循环块,数据序列将不再重要...
How does the lookup in pairs block work?
更多链接