gpt4 book ai didi

json - asp web api json序列化返回私有(private)属性

转载 作者:行者123 更新时间:2023-12-04 01:51:50 25 4
gpt4 key购买 nike

我有一个 Web api Controller 类
我在从 Web api Controller 的 WSDL 生成的代理类上调用一个方法,
我返回一个在 WSDL 代理类中定义的类型的对象。

但返回的 xml/json 包含代理类的私有(private)成员

私有(private)成员是

    private string companyField;

private string soldBPField;

private string fromDateField;

private string toDateField;

private long succStatusField;

并且返回的 xml 是:
<companyField>700</companyField>
<soldBPField>999000353</soldBPField>
<fromDateField>01-01-2012</fromDateField>
<toDateField>01-01-2013</toDateField>

返回的json也类似

我更改了 global.asax 中的 xml 格式化程序,如下所示:
var xml = GlobalConfiguration.Configuration.Formatters.XmlFormatter;
xml.UseXmlSerializer = true;

这将返回的 XML 更改为:
<company>700</company>
<soldBP>999000353</soldBP>
<fromDateField>01-01-2012</fromDate>
<toDate>01-01-2013</toDate>

但返回的 json 仍然包含私有(private)变量的名称

谁能帮我解决这个问题

最佳答案

您的类型是否标记为 [Serializable] ?可序列化意味着序列化程序应该序列化所有字段 - 私有(private)或公共(public)。尝试删除 Serializable或者使用此行来阻止 JSON 格式化程序识别属性:

config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new DefaultContractResolver();

关于json - asp web api json序列化返回私有(private)属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17341135/

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