gpt4 book ai didi

c# - Java 的 "org.json"与 C#'s "Newtonsoft.Json.JsonConvert"

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

<分区>

我正在寻找一个将字符串化 JSON 解析为对象的 C# (.NET) 库。

对我来说,Newtonsoft.Json.JsonConvert 的问题是您总是需要一个具体的类型来进行反序列化:

 SomePredefinedType bla = JsonConvert.DeserializeObject<SomePredefinedType>(stringifiedJson);

所以我以许多我不再使用的类结束。
类 SomePredefinedType 在该行中使用了一次,以后不会再用了。

当然这样导航会更好,您可以像这样调用属性:

string name = bla.Name;
string age = bla.Age;

Java 中,我使用了 org.json,其中的反序列化过程如下:

JSONObject jsonObject = new JSONObject(stringifiedJson)

导航要求您知道 JSON 结构是什么。但这始终是事实(否则我如何创建 SomePredefinedType 类?)

jsonObject.getString("Name");
jsonObject.getString("Age");

问题是:
有用于 C# 的 org.json 吗?我不喜欢 Newtonsoft.Json。
我喜欢这种匿名解析的方式。






编辑:好的,我倾向于在我的帖子中使用简化示例,因为我不喜欢人们发布一堆代码。我喜欢在基础上说话,这就是我发布简单代码的原因。

这是我无法以简单的方式实现的,就像使用 org.json 一样:

        // Here not using any object, just as answers below stated I could:
dynamic jsonProviders = JsonConvert.DeserializeObject(stringifiedJson);

foreach (dynamic jsonProvider in jsonProviders)
{
// Fetch provider
SMSProvider provider = db.SMSProviders.SingleOrDefault(p => p.SMSProviderId == jsonProvider.SMSProviderId); // What the hell do I use here? thats an error
CheckIfExists(provider);

provider.Order = jsonProvider.Order;
}

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