收到一位粉丝的提问,需要解析一段json格式的数据,这里做了一段程序,可以将他的数据重建为键值对格式的列表,并可以通过输入关键字来访问每一项具体内容。
一、json数据处理:将下述内容用sublime保存为json.JSON,并复制到手机SD卡的AppInventor/data文件夹下。
{
"error": 0,
"status": "Success",
"date": "2014-02-13",
"result": {
"name": "颐和园",
"location": {
"lng": 116.27068715319,
"lat": 39.993241267979
},
"telephone": "010-62881144",
"star": "5",
"url": "http://t.cn/zYUgBVH",
"abstract": "我国现存规模最大、保存最完整的皇家园林,久负盛名。",
"description": "颐和园位于北京西北郊海淀区内,距北京城区15公里,是我国现存规模最大,保存最完整的皇家园林之一,也是享誉世界的旅游胜地之一。
颐和园是利用昆明湖、万寿山为基址,以杭州西湖风景为蓝本,汲取江南园林的某些设计手法和意境而建成的一座大型天然山水园,也是保存得最完整的一座皇家行宫御苑,被誉为皇家园林博物馆。
颐和园景区规模宏大,园内建筑以佛香阁为中心,园中有景点建筑物百余座、大小院落20余处,3555古建筑,面积70000多平方米,共有亭、台、楼、阁、廊、榭等不同形式的建筑3000多间。古树名木1600余株。其中佛香阁、长廊、石舫、苏州街、十七孔桥、谐趣园、大戏台等都已成为家喻户晓的代表性建筑。",
"ticket_info": {
"price": "1. 旺季(4月1日~10月31日):30.00元
德和园:5.00元
佛香阁:10.00元
苏州街:10.00元
文昌院:20.00元
联票(含门票、文昌院、德和园、佛香阁、苏州街澹宁堂):60.00元
2. 淡季(11月1日~3月31日):20.00元
德和园:5.00元
佛香阁:10.00元
苏州街:10.00元
文昌院:20.00元
联票(含门票、文昌院、德和园、佛香阁、苏州街澹宁堂):50.00元",
"open_time": "1. 旺季(4月1日~10月31日):06:30~20:00\n停止售票时间:18:00\n园中园(含文昌院、德和园、佛香阁、苏州街澹宁堂):08:30~17:00\n2. 淡季(11月1日~3月31日):07:00~19:00\n停止售票时间:17:00\n园中园(含文昌院、德和园、佛香阁、苏州街澹宁堂):09:00~18:00",
"attention":
{
"name": "【门票优惠政策】",
"description": "1. 身高1.2米以下儿童免票。
2. 北京市65岁以上老年人凭老年证免票;外地70周岁以上(含70周岁)老年人凭有效证件,门票半价优惠。
3. 大、中、小学学生(不含成人教育学生)、外国留学生凭学生证,门票半价优惠。
4. 残疾人、离休干部、离休军人、现役军人、武警官兵、省、部级以上劳模凭有效证件免票。
5. 持有社会保障金领取证的人员凭有效证件,门票半价优惠。"
}
}
}
}
二、设计用户界面:使用的文件管理器(file)组件及web客户端(web)组件。如下图。
三、编写代码
这里使用了递归调用,对列表jsonList中的多重列表解析为扁平化的两重列表,其中第二重列表为键值对。
四、测试