C#语言,从百度地图反向地理编码api返回的json数据中提取信息

renderReverse&&renderReverse({"status":0,"result":{"location":{"lng":118.24691803795,"lat":35.502509941703},"formatted_address":"山东省临沂市沂南县","business":"","addressComponent":{"city":"临沂市","country":"中国","direction":"","distance":"","district":"沂南县","province":"山东省","street":"","street_number":"","country_code":0},"pois":[{"addr":"临沂市沂南县","cp":"NavInfo","direction":"东南","distance":"830","name":"安乐庄村","poiType":"行政地标","point":{"x":118.24266069864,"y":35.507519566229可能是电话号码,是否拨号?},"tag":"行政地标;村庄","tel":"","uid":"251374c990ccfe3ea01de9a9","zip":""}],"poiRegions":[],"sematic_description":"安乐庄村东南830米","cityCode":234}})

如上是返回的一次json数据,C# 语言,怎么提取特定的值,比如从"district":"沂南县"中提取城市名,沂南县,怎么处理

安装json.net控件,并using Newtonsoft.Json.Linq;
这样就可以获取想要的tag对应的内容了。
string text = "renderReverse&&renderReverse({\"status\":0,\"result\":{\"location\":{\"lng\":116.32298703399,\"lat\":39.983424051248},\"formatted_address\":\"北京市海淀区中关村大街27号1101-08室\",\"business\":\"中关村,人民大学,苏州街\",\"addressComponent\":{\"city\":\"北京市\",\"country\":\"中国\",\"direction\":\"附近\",\"distance\":\"7\",\"district\":\"海淀区\",\"province\":\"北京市\",\"street\":\"中关村大街\",\"street_number\":\"27号1101-08室\",\"country_code\":0},\"pois\":[{\"addr\":\"北京北京海淀海淀区中关村大街27号(地铁海淀黄庄站A1\",\"cp\":\"NavInfo\",\"direction\":\"内\",\"distance\":\"0\",\"name\":\"北京远景国际公寓(中关村店)\",\"poiType\":\"房地产\",\"point\":{\"x\":116.3229458916,\"y\":39.983610361549},\"tag\":\"房地产\",\"tel\":\"\",\"uid\":\"35a08504cb51b1138733049d\",\"zip\":\"\"},{\"addr\":\"海淀区中关村北大街27号\",\"cp\":\"NavInfo\",\"direction\":\"附近\",\"distance\":\"25\",\"name\":\"中关村大厦\",\"poiType\":\"房地产\",\"point\":{\"x\":116.32285606105,\"y\":39.983568897877},\"tag\":\"房地产;写字楼\",\"tel\":\"\",\"uid\":\"06d2dffdaef1b7ef88f15d04\",\"zip\":\"\"},{\"addr\":\"中关村大街29\",\"cp\":\"NavInfo\",\"direction\":\"北\",\"distance\":\"62\",\"name\":\"海淀医院激光整形美容部\",\"poiType\":\"医疗\",\"point\":{\"x\":116.32317046798,\"y\":39.983016046485},\"tag\":\"医疗;专科医院\",\"tel\":\"\",\"uid\":\"b1c556e81f27cb71b4265502\",\"zip\":\"\"},{\"addr\":\"中关村大街27号中关村大厦1层\",\"cp\":\"NavInfo\",\"direction\":\"附近\",\"distance\":\"1\",\"name\":\"中国人民财产保险中关村营业部\",\"poiType\":\"金融\",\"point\":{\"x\":116.32298182382,\"y\":39.983416864194},\"tag\":\"金融;投资理财\",\"tel\":\"\",\"uid\":\"060f5e53137d20d7081cc779\",\"zip\":\"\"},{\"addr\":\"北京市海淀区\",\"cp\":\"NavInfo\",\"direction\":\"东北\",\"distance\":\"58\",\"name\":\"北京市海淀医院-输血科\",\"poiType\":\"医疗\",\"point\":{\"x\":116.322685383,\"y\":39.983092063819},\"tag\":\"医疗;其他\",\"tel\":\"\",\"uid\":\"cf405905b6d82eb9b55f1e89\",\"zip\":\"\"},{\"addr\":\"北京市海淀区中关村大街27号中关村大厦二层\",\"cp\":\"NavInfo\",\"direction\":\"附近\",\"distance\":\"0\",\"name\":\"眉州东坡酒楼(中关村店)\",\"poiType\":\"美食\",\"point\":{\"x\":116.32298182382,\"y\":39.983423774823},\"tag\":\"美食\",\"tel\":\"\",\"uid\":\"2c0bd6c57dbdd3b342ab9a8c\",\"zip\":\"\"},{\"addr\":\"北京市海淀区中关村大街29号(海淀黄庄路口)\",\"cp\":\"NavInfo\",\"direction\":\"东北\",\"distance\":\"223\",\"name\":\"海淀医院\",\"poiType\":\"医疗\",\"point\":{\"x\":116.32199368776,\"y\":39.982083099537},\"tag\":\"医疗;综合医院\",\"tel\":\"\",\"uid\":\"fa01e9371a040053774ff1ca\",\"zip\":\"\"},{\"addr\":\"北京市海淀区中关村大街28号\",\"cp\":\"NavInfo\",\"direction\":\"西北\",\"distance\":\"229\",\"name\":\"海淀剧院\",\"poiType\":\"休闲娱乐\",\"point\":{\"x\":116.32476945179,\"y\":39.982622137118},\"tag\":\"休闲娱乐;电影院\",\"tel\":\"\",\"uid\":\"edd64ce1a6d799913ee231b3\",\"zip\":\"\"},{\"addr\":\"海淀黄庄地铁站旁\",\"cp\":\"NavInfo\",\"direction\":\"西北\",\"distance\":\"375\",\"name\":\"中发电子市场(中关村大街)\",\"poiType\":\"购物\",\"point\":{\"x\":116.32529945204,\"y\":39.981537146849},\"tag\":\"购物;家电数码\",\"tel\":\"\",\"uid\":\"69130523db34c811725e8047\",\"zip\":\"\"},{\"addr\":\"北京市海淀区知春路128号\",\"cp\":\"NavInfo\",\"direction\":\"西北\",\"distance\":\"434\",\"name\":\"泛亚大厦\",\"poiType\":\"房地产\",\"point\":{\"x\":116.32600013033,\"y\":39.981516414381},\"tag\":\"房地产;写字楼\",\"tel\":\"\",\"uid\":\"d24e48ebb9991cc9afee7ade\",\"zip\":\"\"}],\"poiRegions\":[],\"sematic_description\":\"北京远景国际公寓(中关村店)内0米\",\"cityCode\":131}})";
//只保留Json内容
text = text.Remove(text.Length - 1).Remove(0, 29);
JObject jo = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(text);
//获取指定TAG的内容
MessageBox.Show(jo["result"]["addressComponent"]["district"].ToString());
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-07-28
安装json.net控件,并using Newtonsoft.Json.Linq;
这样你就可以获取你想要的tag对应的内容了。
string text = "renderReverse&&renderReverse({\"status\":0,\"result\":{\"location\":{\"lng\":116.32298703399,\"lat\":39.983424051248},\"formatted_address\":\"北京市海淀区中关村大街27号1101-08室\",\"business\":\"中关村,人民大学,苏州街\",\"addressComponent\":{\"city\":\"北京市\",\"country\":\"中国\",\"direction\":\"附近\",\"distance\":\"7\",\"district\":\"海淀区\",\"province\":\"北京市\",\"street\":\"中关村大街\",\"street_number\":\"27号1101-08室\",\"country_code\":0},\"pois\":[{\"addr\":\"北京北京海淀海淀区中关村大街27号(地铁海淀黄庄站A1\",\"cp\":\"NavInfo\",\"direction\":\"内\",\"distance\":\"0\",\"name\":\"北京远景国际公寓(中关村店)\",\"poiType\":\"房地产\",\"point\":{\"x\":116.3229458916,\"y\":39.983610361549},\"tag\":\"房地产\",\"tel\":\"\",\"uid\":\"35a08504cb51b1138733049d\",\"zip\":\"\"},{\"addr\":\"海淀区中关村北大街27号\",\"cp\":\"NavInfo\",\"direction\":\"附近\",\"distance\":\"25\",\"name\":\"中关村大厦\",\"poiType\":\"房地产\",\"point\":{\"x\":116.32285606105,\"y\":39.983568897877},\"tag\":\"房地产;写字楼\",\"tel\":\"\",\"uid\":\"06d2dffdaef1b7ef88f15d04\",\"zip\":\"\"},{\"addr\":\"中关村大街29\",\"cp\":\"NavInfo\",\"direction\":\"北\",\"distance\":\"62\",\"name\":\"海淀医院激光整形美容部\",\"poiType\":\"医疗\",\"point\":{\"x\":116.32317046798,\"y\":39.983016046485},\"tag\":\"医疗;专科医院\",\"tel\":\"\",\"uid\":\"b1c556e81f27cb71b4265502\",\"zip\":\"\"},{\"addr\":\"中关村大街27号中关村大厦1层\",\"cp\":\"NavInfo\",\"direction\":\"附近\",\"distance\":\"1\",\"name\":\"中国人民财产保险中关村营业部\",\"poiType\":\"金融\",\"point\":{\"x\":116.32298182382,\"y\":39.983416864194},\"tag\":\"金融;投资理财\",\"tel\":\"\",\"uid\":\"060f5e53137d20d7081cc779\",\"zip\":\"\"},{\"addr\":\"北京市海淀区\",\"cp\":\"NavInfo\",\"direction\":\"东北\",\"distance\":\"58\",\"name\":\"北京市海淀医院-输血科\",\"poiType\":\"医疗\",\"point\":{\"x\":116.322685383,\"y\":39.983092063819},\"tag\":\"医疗;其他\",\"tel\":\"\",\"uid\":\"cf405905b6d82eb9b55f1e89\",\"zip\":\"\"},{\"addr\":\"北京市海淀区中关村大街27号中关村大厦二层\",\"cp\":\"NavInfo\",\"direction\":\"附近\",\"distance\":\"0\",\"name\":\"眉州东坡酒楼(中关村店)\",\"poiType\":\"美食\",\"point\":{\"x\":116.32298182382,\"y\":39.983423774823},\"tag\":\"美食\",\"tel\":\"\",\"uid\":\"2c0bd6c57dbdd3b342ab9a8c\",\"zip\":\"\"},{\"addr\":\"北京市海淀区中关村大街29号(海淀黄庄路口)\",\"cp\":\"NavInfo\",\"direction\":\"东北\",\"distance\":\"223\",\"name\":\"海淀医院\",\"poiType\":\"医疗\",\"point\":{\"x\":116.32199368776,\"y\":39.982083099537},\"tag\":\"医疗;综合医院\",\"tel\":\"\",\"uid\":\"fa01e9371a040053774ff1ca\",\"zip\":\"\"},{\"addr\":\"北京市海淀区中关村大街28号\",\"cp\":\"NavInfo\",\"direction\":\"西北\",\"distance\":\"229\",\"name\":\"海淀剧院\",\"poiType\":\"休闲娱乐\",\"point\":{\"x\":116.32476945179,\"y\":39.982622137118},\"tag\":\"休闲娱乐;电影院\",\"tel\":\"\",\"uid\":\"edd64ce1a6d799913ee231b3\",\"zip\":\"\"},{\"addr\":\"海淀黄庄地铁站旁\",\"cp\":\"NavInfo\",\"direction\":\"西北\",\"distance\":\"375\",\"name\":\"中发电子市场(中关村大街)\",\"poiType\":\"购物\",\"point\":{\"x\":116.32529945204,\"y\":39.981537146849},\"tag\":\"购物;家电数码\",\"tel\":\"\",\"uid\":\"69130523db34c811725e8047\",\"zip\":\"\"},{\"addr\":\"北京市海淀区知春路128号\",\"cp\":\"NavInfo\",\"direction\":\"西北\",\"distance\":\"434\",\"name\":\"泛亚大厦\",\"poiType\":\"房地产\",\"point\":{\"x\":116.32600013033,\"y\":39.981516414381},\"tag\":\"房地产;写字楼\",\"tel\":\"\",\"uid\":\"d24e48ebb9991cc9afee7ade\",\"zip\":\"\"}],\"poiRegions\":[],\"sematic_description\":\"北京远景国际公寓(中关村店)内0米\",\"cityCode\":131}})";
//只保留Json内容
text = text.Remove(text.Length - 1).Remove(0, 29);
JObject jo = (JObject)Newtonsoft.Json.JsonConvert.DeserializeObject(text);
//获取指定TAG的内容
MessageBox.Show(jo["result"]["addressComponent"]["district"].ToString());本回答被提问者采纳

C#语言,从百度地图反向地理编码api返回的json数据中提取信息
安装json.net控件,并using Newtonsoft.Json.Linq;这样就可以获取想要的tag对应的内容了。string text = "renderReverse&&renderReverse({\\"status\\":0,\\"result\\":{\\"location\\":{\\"lng\\":116.32298703399,\\"lat\\":39.983424051248},\\"formatted_address\\":\\"北京市海淀区中关村大街27号1101-08室...

如何调试百度地图 API?附上使用教程
百度地图 Web 服务 API 提供了http\/https接口,让开发者能够通过发起检索请求,获取json或xml格式的检索数据,适用于JavaScript、C#、C++、Java等语言的地图应用开发。百度地图 API 的在线地址为:baidumap.apifox.cn\/,你可以在 Apifox中克隆此项目进行调试。首先,需要注册开发者账号并获取API Key。若已...

如何用C#读取GeoJson文件并在地图控件中显示
string[] strs=File.ReadAllLines(filename); for(int i=0;i<strs.Length;i++) { label.text =label.text+strs[i]+"\\n"; }

怎么根据百度地图位置获取经纬度
要想得到数据必须先得到百度地图的接口,不然怎么调用接口获取数据呢,首先我们在百度首页输入“百度api”回车后第一个就是我们要找的,点击进入。我们是通过网页获取json数据得到的数据,所以我们选择“开发”-》“Web服务API”点击进入。进入这个页面后,我们选择“开发指南”-》“Geocoding API”选择这个进...

在百度地图api,经纬度怎么转换成百度坐标
参数中每组x坐标间以逗号分隔,每组y坐标间以逗号分隔。如:http:\/\/api.map.baidu.com\/ag\/coord\/con... 3.批量坐标转换坐标组数上限为20个,超过20个则只返回20个结果 返回结果说明:1.数据以json格式返回 2.单组坐标转换返回格式与之前相同 3.批量坐标转换返回格式:[{"error":0,"x":"NDAu...

android 怎么批量调用百度地图的地理编码功能
address=地址\&output=json\&ak=你的AK其中,address为要进行地理编码的地址;output为返回格式(json或xml);ak为你创建应用时生成的AK。在这个URL中,address可以是单个地址,也可以是多个地址用分号隔开的组合。例如:http:\/\/api.map.baidu.com\/geocoder\/v2\/?address=北京市;上海市\&...

在百度地图api,经纬度怎么转换成百度坐标
坐标转换服务坐标转换接口说明将其他坐标系转换到百度坐标系。接口样例如下:\/ag\/coord\/con3.批量坐标转换坐标组数上限为20个,超过20个则只返回20个结果返回结果说明:1.数据以json格式返回2.单组坐标转换返回格式与之前相同3.批量坐标转换返回格式:[{"error":0,"x":"NDAuMDA2NjY4MzUzNTg3","y"...

Python爬虫— 利用百度地图API批量获取城市POI兴趣点
步骤3:编写爬虫脚本 利用Python,您将编写一个脚本,该脚本将循环遍历中国各个城市,并调用百度地图API获取每个城市的POI数据。脚本应包括以下关键部分:设置API请求参数,包括城市名称、API密钥等。使用requests库发送API请求。解析返回的JSON数据,提取所需POI信息。将数据存储到文件或数据库中,以便进一步...

在百度地图api,经纬度怎么转换成百度坐标
http:\/\/api.map.baidu.com\/geoconv\/v1\/? 第一步,申请密钥(ak),作为访问服务的依据;第二步,按照请求参数说明拼写发送http请求的url,注意需使用第一步申请的ak;第三步,接收返回的数据(json或者xml格式)。注:本接口支持回调。另外,同一个GPS坐标多次转为百度坐标时,每次转换结果都不...

怎样在java中调用百度地图的API
百度地图Web服务API为开发者提供http接口,即开发者通过http形式发起检索请求,获取返回json或xml格式的检索数据。api官网说明链接:http:\/\/developer.baidu.com\/map\/webservice.htm 1、可用接口列举:获取相关地址提示 place suggestion http:\/\/api.map.baidu.com\/place\/v2\/suggestion?query=水杉®ion...

相似回答