在C#中通过使用Newtonsoft.Json库来解析百度地图地理编码(GeoCoder)服务接口返回的Json格式的数据

百度地图地理编码(GeoCoder)服务接口返回的Json格式的数据,如下所示:

http://api.map.baidu.com/geocoding/v3/?address=**省**市**区**路**号院**社区&output=json&ak=您的AK密钥

返回结果实例:

            {
                 "status":0,
                 "result":
                              {
                                 "location":{"lng":116.79, "lat":39.99},
                                 "precise":1,
                                 "confidence":70,
                                 "comprehension":100,
                                 "level":"地产小区"
                               }
             }

本文简要介绍如何在C#中通过使用Newtonsoft.Json库来解析Json格式的数据。

1、创建主应用程序(控制台或Winform程序均可);

2、引入Newtonsoft.Json.dll。

3、在工程中创建如下的类:

      public class Location
        {
            [JsonProperty("lng")]
            public double Lng { get; set; }
            [JsonProperty("lat")]
            public double Lat { get; set; }
        }

        public class Result
        {
            [JsonProperty("location")]
            public Location Location { get; set; }
            [JsonProperty("precise")]
            public int Precise { get; set; }
            [JsonProperty("confidence")]
            public int Confidence { get; set; }
            [JsonProperty("comprehension")]
            public int Comprehension { get; set; }
            [JsonProperty("level")]
            public string Level { get; set; }
        }

        public class RecordResult
        {
            [JsonProperty("status")]
            public int Status { get; set; }
            [JsonProperty("result")]
            public Result Result { get; set; }
        }

4、构建URL服务连接,发起Http请求,获取响应数据流中的内容,调用JsonConvert.DeserializeObject()方法将字符串反序列化为对象即可,调用的cs文件中需要添加using Newtonsoft.Json;名称空间的引用:

string  m_CurrentSearchUri="http://api.map.baidu.com/geocoding/v3/?address=**省**市**区**路**号院**社区&output=json&ak=您的AK密钥";
WebClient client = new WebClient();
client.Encoding = Encoding.UTF8;
//将返回的json数据转为JSON对象
RecordResult joResult = JsonConvert.DeserializeObject<RecordResult>(client.DownloadString(m_CurrentSearchUri));

5、当然了,上述的Http请求也可以采用HttpWebRequest和HttpWebResponse来完成。

 // 送出要求
 HttpWebRequest request = (HttpWebRequest)WebRequest.Create(m_CurrentSearchUri);
 // 取得回應
 HttpWebResponse response = (HttpWebResponse)request.GetResponse();
 StreamReader sr = new StreamReader(response.GetResponseStream());
 //得到一个json字符串
 string joResultTemp = sr.ReadToEnd().ToString();
 //将返回的json数据转为JSON对象
 RecordResult joResult = JsonConvert.DeserializeObject<RecordResult>(joResultTemp);

原文地址:https://www.cnblogs.com/rainbow70626/p/12350661.html

时间: 2024-12-26 02:40:55

在C#中通过使用Newtonsoft.Json库来解析百度地图地理编码(GeoCoder)服务接口返回的Json格式的数据的相关文章

如何用java语法解析接口返回的json串?

起因:做接口测试的时候经常需要对接口返回的响应数据(一般都是json字符串格式)做解析 下面是一个接口响应数据的例子: 下面是对上面接口返回的json格式字符串的解析 Object dataObj=JSONPath.read(content,"$.data"); JSONObject dataJsonObj=JSON.parseObject(dataObj.toString()); //获取key="searchResult"的值,是一个JSON数组 JSONArr

Node.js 使用jQuery取得Nodejs http服务端返回的JSON数组示例

server.js代码: // 内置http模块,提供了http服务器和客户端功能(path模块也是内置模块,而mime是附加模块) var http=require("http"); // 创建服务器,创建HTTP服务器要调用http.createServer()函数,它只有一个参数,是个回调函数,服务器每次收到http请求后都会调用这个回调函数.服务器每收到一条http请求,都会用新的request和response对象触发请求函数. var server=http.createS

Node.js 使用jQuery取得Nodejs http服务端返回的JSON文字示例

server.js代码: // 内置http模块,提供了http服务器和客户端功能(path模块也是内置模块,而mime是附加模块) var http=require("http"); // 创建服务器,创建HTTP服务器要调用http.createServer()函数,它只有一个参数,是个回调函数,服务器每次收到http请求后都会调用这个回调函数.服务器每收到一条http请求,都会用新的request和response对象触发请求函数. var server=http.createS

android菜鸟学习笔记25----与服务器端交互(二)解析服务端返回的json数据及使用一个开源组件请求服务端数据

补充:关于PHP服务端可能出现的问题: 如果你刚好也像我一样,用php实现的服务端程序,采用的是apache服务器,那么虚拟主机的配置可能会影响到android应用的调试!! 在android应用中访问的IP都是10.0.2.2,如果在apache虚拟主机配置文件中配置了多个虚拟主机,那么将默认解析为对第一个虚拟主机的请求,所以,在调试android应用时,应该将对应的服务端所配置的那个虚拟主机放在配置文件中的第一个虚拟主机的位置.否则就会出现请求的文件不存在等的错误. 服务端返回JSON数据及

Node.js 使用angularjs取得Nodejs http服务端返回的JSON数组示例

server.js代码: // 内置http模块,提供了http服务器和客户端功能(path模块也是内置模块,而mime是附加模块) var http=require("http"); // 创建服务器,创建HTTP服务器要调用http.createServer()函数,它只有一个参数,是个回调函数,服务器每次收到http请求后都会调用这个回调函数.服务器每收到一条http请求,都会用新的request和response对象触发请求函数. var server=http.createS

Html页面格式化显示接口返回的JSON数据

参考: http://m.blog.csdn.net/zhengxiangwen/article/details/68927330 http://www.zyall.com/format_json.html 1,必须在pre标签中 p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #932192 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Mon

JSON库之性能比较:JSON.simple VS GSON VS Jackson VS JSONP

http://www.open-open.com/lib/view/open1434377191317.html 近日做一些性能优化工作,在挑选JSON类库时,发现除了一般常用的JSON-lib外,还有一款号称性能最快的JSON处理器Jackson,于是用上了刚学会的JMeter,对这两个类库进行了简单的性能对比. Java中哪个JSON库的解析速度是最快的? JSON已经成为当前服务器与WEB应用之间数据传输的公认标准,不过正如许多我们所习以为常的事情一样,你会觉得这是理所当然的便不再深入思考

Json学习总结(2)——Java 下的 JSON库性能比较:JSON.simple vs. GSON vs. Jackson vs. JSONP

JSON已经成为当前服务器与WEB应用之间数据传输的公认标准,不过正如许多我们所习以为常的事情一样,你会觉得这是理所当然的便不再深入思考了.我们很少会去想用到的这些JSON库到底有什么不同,但事实上它们的确是不太一样的.因此,我们运行了一个基准测试来对常用的几个JSON库进行了测试,看看在解析不同大小的文件时哪个库的速度是最快的.下面我会把结果分享给大家. JSON通常用于传输及解析大文件.这对运行在Hadoop或者是Spark集群上的数据处理程序而言是个很常见的场景.在给定的文件大小下,你可以

Android百度地图 - 在地图上标注已知GPS纬度经度值的一个或一组覆盖物 - OPEN 开发经验库 - 360安全浏览器 8.1

首页   代码   文档   问答   资讯   经验   GitHub日报 登录   注册 www.open-open.com/libOPEN经验 投稿 全部经验分类  Android IOS JavaScript HTML5 CSS jQuery Python PHP NodeJS Java Spring MySQL MongoDB Redis NOSQL Vim C++ C# JSON Ruby Linux Nginx Docker 所有分类  >  开发语言与工具  >  移动开发