显然,HttpClient
是一种新的建议的HTTP请求方式,所以我尝试使用它向美味的API发出请求,它返回一个XML响应。我得到的是:
internal class Program
{
private static void Main(string[] args)
{
var credentials = new NetworkCredential("username", "password");
var handler = new HttpClientHandler { Credentials = credentials};
var client = new HttpClient(handler);
var suggest = new Uri("https://api.del.icio.us/v1/posts/suggest");
var suggestions =
client.GetAsync(suggest.AddQueryParams("url", "https://yahoo.com"))
.ContinueWith(t => t.Result.Content.ReadAsAsync<DeliciousSuggest>())
.Unwrap()
.Result;
Console.ReadLine();
}
}
public class DeliciousSuggest
{
public string[] Popular { get; set; }
public string[] Recommended { get; set; }
public string[] Network { get; set; }
}
但是,它会在ReadAsAsync
位上引发异常,
其他信息:无法加载文件或程序集“NewtonSoft.json,Version=4.5.0.0,Culture=Neutral,PublicKeyToken=30AD4FE6B2A6AEED”或其依赖项之一.系统找不到指定的文件。
也许我错过了一些集会,但这让我觉得很意外。返回类型是XML,而不是JSON,但我仍然不太确定这个readAsasync
方法是如何工作的,或者我将如何指定它。
示例响应如下所示:
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<suggest>
<popular>yahoo!</popular>
<popular>yahoo</popular>
<popular>web</popular>
<popular>tools</popular>
<popular>searchengines</popular>
<recommended>yahoo!</recommended>
<recommended>yahoo</recommended>
<recommended>web</recommended>
<network>for:Bernard</network>
<network>for:britta</network>
<network>for:deusx</network>
</suggest>
如何将其解析为可用的格式?
“如何将其解析为可用格式?”
[XmlRoot("suggest")]
public class DeliciousSuggest {
[XmlElement("popular")]
public string[] Popular { get; set; }
[XmlElement("recommended")]
public string[] Recommended { get; set; }
[XmlElement("network")]
public string[] Network { get; set; }
}
并使用XmlSerializer反序列化。
您应该以字符串的形式从del.icio.us读回响应,然后可以按照如下方式反序列化它:
var s = "this is the response from del";
var buffer = Encoding.UTF8.GetBytes(s);
using (var stream = new MemoryStream(buffer)) {
var serializer = new XmlSerializer(typeof(DeliciousSuggest));
var deliciousSuggest = (DeliciousSuggest)serializer.Deserialize(stream);
//then do whatever you want
}
我对webapi相当陌生,已经开发了一个小型webapi,它有一些操作并返回我的自定义类Response。 现在我遇到的困难是,我不知道如何读取从webapi操作返回的响应数据,并从我的响应类中提取json。在获得json之后,如何将该json 发送到customer类。 这就是我调用webapi函数的方式: null 1)如何在客户端获取webapi返回的响应类 2)如何从响应类中提取json
我尝试过,但不知道如何从API响应中读取数据。我能够获得200个状态代码,但我不知道如何获得实际数据。我正在尝试从WiThings API获取数据(http://developer.withings.com/oauth2/#tag/measure/paths/https:~1~1wbsapi.withings.net~1量?action=getmeas/get) 以下是我得到的回复: 状态代码:2
问题内容: EMF = Eclipse建模框架 我必须在一个课堂项目中使用EMF。我正在尝试了解如何使用EMF执行以下操作: 读取XML, 将值放入对象。 使用ORM将对象中的值持久保存到数据库中。-完成 使用ORM从数据库获取数据并生成XML。 我需要使用EMF(不知道是什么)和JPA(完成)来完成所有这些操作。 我使用过JAXB,我知道,可以使用JAXB完成,但是(EMF == JAXB)怎么
问题内容: 我需要使用Java读取XML文件。它的内容就像 是否有特殊的阅读器/ JAR,还是应该使用 FileInputStream进行 阅读? 问题答案: 另一个建议:尝试使用Commons消化器。这使您可以使用基于规则的方法非常快速地开发解析代码。有一个教程在这里和图书馆可在这里 我也同意Brian和Alzoid的观点,因为JAXB非常适合快速启动和运行。您可以使用JDK附带的xjc绑定编译
我试图从XML文件中读入一些数据,但遇到了一些问题,我的XML如下所示: 我试图将这些值作为字符串读入Java程序,到目前为止,我已经编写了以下代码: 我正在努力读取和打印id、用户名等的值。
问题内容: 如何在Java中使用XPath读取XML? 问题答案: 你需要遵循以下要求: 然后,调用传入该代码中定义的文档和所需的返回类型,并将结果转换为结果的对象类型。 如果你需要有关特定XPath表达式的帮助,则可能应该将其作为单独的问题进行询问(除非首先是你的问题-我理解你的问题是如何在Java中使用API)。 此XPath表达式将为你提供下第一个URL元素的文本: 这将使你获得第二个: