gpt4 book ai didi

c# - 在 C# DalSoft.RestClient 和/或 Json.net 中枚举 JSON 属性

转载 作者:行者123 更新时间:2023-11-30 20:26:29 25 4
gpt4 key购买 nike

作为一个简单的例子,试图让它在控制台应用程序中工作。我正在使用 Json.NetDalSoft.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;
}
}
}

Solution Explorer view for version ref


跟进编辑:为任何潜伏者添加了这个。 我需要将程序集添加到 GAC 以使其可用于 scripting tool .这是为了您的强名称信息。

我知道可能有另一种更好的方法来引用非 GAC 程序集。我只是没有时间弄清楚。也许我会在这里形成一个有意义的问题。

有趣的结果: enter image description here

最佳答案

试试这个(我用的是 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com