gpt4 book ai didi

c# - 在 C# 中解析 JSON 对象而不使用类

转载 作者:行者123 更新时间:2023-12-03 15:08:15 24 4
gpt4 key购买 nike

我在 JSON 对象中有两个字符串值。我想在同一个类中调用这个方法,并在不使用类的情况下使用这些值。

我正在使用以下方法:

public JsonResult Details()
{
return Json(new { Data = "DisplayName", result = "UniqueName" });
}

我需要在另一种方法中使用这些数据和结果值。

我得到的值(value)如下:
var Details = JsonConvert.SerializeObject(Details());

我的输出是:
{
\"ContentEncoding\": null,
\"ContentType\": null,
\"Data\": {
\"Data\": \"DisplayName\",
\"result\": \"UniqueName\"
},
\"JsonRequestBehavior\": 1,
\"MaxJsonLength\": null,
\"RecursionLimit\": null
}

我如何从中获取数据和结果值?

最佳答案

您正在使用的方法(即:)

public JsonResult Details()
{
return Json(new { Data = "DisplayName", result = "UniqueName" });
}

返回 JsonResult具有名为 Data 的属性的对象, 即 Details().Data ,其中包含您的对象包含的数据。所以为了得到你对象的 Dataresult值,您需要再次序列化它。

这是完整的解决方案:
JsonResult json = Details();                         // returns JsonResult type object
string ser = JsonConvert.SerializeObject(json.Data); // serializing JsonResult object (it will give you json string)
object dec = JsonConvert.DeserializeObject(ser); // deserializing Json string (it will deserialize Json string)
JObject obj = JObject.Parse(dec.ToString()); // it will parse deserialize Json object
string name = obj["Data"].ToString(); // now after parsing deserialize Json object you can get individual values by key i.e.

string name = obj["Data"].ToString(); // will give Data value
string name = obj["result"].ToString(); // will give result value

希望这可以帮助。

关于c# - 在 C# 中解析 JSON 对象而不使用类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34626000/

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