寻找带有 JSON 客户端库的 REST [英] Looking for a REST with JSON client library
本文介绍了寻找带有 JSON 客户端库的 REST的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要连接到通过 REST 接口提供 JSON 的端点.我真的找不到任何以连贯的方式结合这两种技术的东西.
I need to connect to an endpoint that serves out JSON via REST interfaces. I can't really find anything that combines these 2 technologies in a coherent manner.
我正在寻找一个能让我快速入门的图书馆.
I am looking for a library that will let me get started quickly.
推荐答案
您可以使用 Json.Net 库以及使用 DynamicObject
You can use Json.Net library and this extension class that makes use of DynamicObject
一些使用示例:
public static void GoogleGeoCode(string address)
{
string url = "http://maps.googleapis.com/maps/api/geocode/json?sensor=true&address=";
dynamic googleResults = new Uri(url + address).GetDynamicJsonObject();
foreach (var result in googleResults.results)
{
Console.WriteLine("[" + result.geometry.location.lat + "," +
result.geometry.location.lng + "] " +
result.formatted_address);
}
}
public static void GoogleSearch(string keyword)
{
string url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&rsz=8&q=";
dynamic googleResults = new Uri(url + keyword).GetDynamicJsonObject();
foreach (var result in googleResults.responseData.results)
{
Console.WriteLine(
result.titleNoFormatting + "
" +
result.content + "
" +
result.unescapedUrl + "
");
}
}
public static void Twitter(string screenName)
{
string url = "https://api.twitter.com/1/users/lookup.json?screen_name=" + screenName;
dynamic result = new Uri(url).GetDynamicJsonObject();
foreach (var entry in result)
{
Console.WriteLine(entry.name + " " + entry.status.created_at);
}
}
public static void Wikipedia(string query)
{
string url = "http://en.wikipedia.org/w/api.php?action=opensearch&search=" + query +"&format=json";
dynamic result = new Uri(url).GetDynamicJsonObject();
Console.WriteLine("QUESTION: " + result[0]);
foreach (var entry in result[1])
{
Console.WriteLine("ANSWER: " + entry);
}
}
<小时>
这是另一个没有 DynamicObject
public static void GoogleSearch2(string keyword)
{
string url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&rsz=8&q="+keyword;
using(WebClient wc = new WebClient())
{
wc.Encoding = System.Text.Encoding.UTF8;
wc.Headers["User-Agent"] = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET4.0C; .NET4.0E)";
string jsonStr = wc.DownloadString(url);
JObject jObject = (JObject)JsonConvert.DeserializeObject(jsonStr);
foreach (JObject result in jObject["responseData"]["results"])
{
Console.WriteLine(
result["titleNoFormatting"] + "
" +
result["content"] + "
" +
result["unescapedUrl"] + "
");
}
}
}
这篇关于寻找带有 JSON 客户端库的 REST的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文