作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
作为一个简单的例子,试图让它在控制台应用程序中工作。我正在使用 Json.Net和 DalSoft.RestClient来自 nuget 的包。我没有嫁给其中任何一个我只是想完成工作。对替代方案持开放态度。
http://jsonplaceholder.typicode.com/users返回有效的 JSON。
我想枚举一下事先不知道的属性。以下似乎可行,但因 System.AggregateException - RuntimeBinderException: Cannot perform runtime binding on a null reference 而失败 我觉得我错过了一些简单的事情。
using System;
using System.Threading.Tasks;
using DalSoft.RestClient;
using Newtonsoft.Json.Linq;
namespace ImTired
{
class Program
{
static void Main(string[] args)
{
DoThingsAsync().Wait();
Console.ReadLine();
}
private static async Task<object> DoThingsAsync()
{
dynamic client = new RestClient("http://jsonplaceholder.typicode.com");
var user = await client.Users.Get();
var foo = user[0].name; // grab the first item (Works to this point)
//JProperty item = new JProperty(user);
var item = user[0];
foreach (JProperty property in item.Properties()) //(fails here I've missed a cast or conversion)
{
Console.WriteLine(property.Name + " - " + property.Value);
}
Console.WriteLine("Call Complete: " + foo);
return null;
}
}
}
跟进编辑:为任何潜伏者添加了这个。 我需要将程序集添加到 GAC 以使其可用于 scripting tool .这是为了您的强名称信息。
我知道可能有另一种更好的方法来引用非 GAC 程序集。我只是没有时间弄清楚。也许我会在这里形成一个有意义的问题。
最佳答案
试试这个(我用的是 RestSharp):
using System;
using System.Threading.Tasks;
using Newtonsoft.Json.Linq;
using RestSharp;
namespace ImNotSoTired
{
class Program
{
static void Main(string[] args)
{
DoThingsAsync().Wait();
Console.ReadLine();
}
private static async Task<object> DoThingsAsync()
{
RestClient client = new RestClient("http://jsonplaceholder.typicode.com");
var response = client.Execute(new RestRequest("users"));
JArray users = JArray.Parse(response.Content);
var user = (JObject)users[0];
foreach (JProperty property in user.Properties())
{
Console.WriteLine(property.Name + " - " + property.Value);
}
return null;
}
}
}
关于c# - 在 C# DalSoft.RestClient 和/或 Json.net 中枚举 JSON 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49885256/
作为一个简单的例子,试图让它在控制台应用程序中工作。我正在使用 Json.Net和 DalSoft.RestClient来自 nuget 的包。我没有嫁给其中任何一个我只是想完成工作。对替代方案持开放
我是一名优秀的程序员,十分优秀!