gpt4 book ai didi

c# - Asp.Net 在 json 中返回自定义对象

转载 作者:行者123 更新时间:2023-11-29 10:52:03 25 4
gpt4 key购买 nike

我有一个 CodeWithMessage 类,我想将其作为 json 从我的网络服务返回。

类是这样定义的

namespace UserSite //Classes For my site
{
namespace General
{
public class CodeWithMessage
{
private int iCode = 0;
private string sMessage = "";
public CodeWithMessage(int Code, string Message)
{
iCode = Code;
sMessage = Message;
}
public CodeWithMessage()
{
}
public void Message(string lMessage)
{
sMessage = lMessage;
}
public void Code(int lCode)
{
iCode = lCode;
}
}

在我的网络服务中

[WebMethod(Description = "Creates A New Blog.")]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public CodeWithMessage AddNewBlog(string sTitle, string sDescription, string sOohrl, int iCategory=30)
{
CodeWithMessage CWM;
CWM = new CodeWithMessage();
CWM.Message("That url Is In Use");
CWM.Code(0);
return CWM;

我发布了正确的值(我 chop 了函数但它得到了它需要的并正在执行)我回来了

{"d":{"__type":"UserSite.General.CodeWithMessage"}}

我不确定为什么我没有取回带有值的实际 json 对象,而只是取回类名?我以为 asp.net 会自动序列化对象?不是吗??

提前致谢

最佳答案

您必须为 JavaScriptSerializer 使用公共(public)属性序列化 JSON像你要的那样。 JavaScriptSerializer不能公开方法或私有(private)字段。

namespace UserSite //Classes For my site
{
namespace General
{
public class CodeWithMessage
{
public int Code { get; set; }
public string Message { get; set; }
}
}
}

..............
//usage
CodeWithMessage CWM = new CodeWithMessage();
CWM.Message = "That url Is In Use";
CWM.Code = 0;
return CWM;

关于c# - Asp.Net 在 json 中返回自定义对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8290777/

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