gpt4 book ai didi

带有 JObject 元素的 C# JsonResult 返回空数组

转载 作者:行者123 更新时间:2023-12-02 17:06:18 25 4
gpt4 key购买 nike

我正在尝试从包含 JsonObject 作为元素的 REST API 返回 JSON 结果。

var aJsonObject = new JObject();
aJsonObject.Add("somefield", "somevalue" );
aJsonObject.Add("someotherfield", 1995);

return Json( new { status = "success", result = aJsonObject } );

客户端收到一个空的嵌套数组:

{"status":"success","re​​sult":[[[]],[[]]]}

我不喜欢的工作是序列化 JsonObject,从而将其作为字符串发送,然后让客户端解析它。它有效,但有点难看。

这是一个错误还是我做错了?

注意:8/3/18 我编辑了变量声明以更正拼写错误 - 它是 jsonObject,应该是 aJsonObject

最佳答案

JObject 已经是 json 格式。 JsonResult 的主要目的是将对象序列化为 json。你想做的是(我猜):

dynamic resultObject = new ExpandoObject();
resultObject.somefield = "somevalue";
resultObject.someotherfield = 1995;

return Json( new { status = "success", result = resultObject } );

如果您想自己构建 Json 字符串并将其返回给客户端,您可以使用 Content:

return new Content(yourjsonstring, "application/json");

关于带有 JObject 元素的 C# JsonResult 返回空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51662794/

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