我已经查看了各种问题,但我不确定如何实现这一点。
我有一个自定义结构,它目前没有公共属性。当它通过 WebApi 返回时(不做任何花哨的序列化,只是返回自定义结构本身),它作为 object 返回{}
。
public struct CustomStruct
{
private string myProperty;
...
public override string ToString()
{
return this.myProperty;
}
...
}
自定义结构本身是父类属性的类型,它序列化为:
{ "MyProp1":"value1","MyProp2":"value2","MyCustomStruct":{} }
当我在自定义结构上覆盖 ToString() 时,我想输出其中一个私有属性。将对象作为 JSON 对象返回到 JavaScript-land 时,我可以实现类似的行为吗?
例如,我的私有属性是一个字符串,称为“myProperty”,设置为“test”。如果我添加了一个名为“MyProperty”的公共属性,我会得到以下输出:
{ "MyProp1":"value1","MyProp2":"value2","MyCustomStruct":{ "MyProperty":"test" } }
当我真正想要的是:
{ "MyProp1":"value1","MyProp2":"value2","MyCustomStruct":"test" }
希望这是有道理的。
以下是对我没有太大帮助的相关问题。如果可能的话,希望避免使用 JSON.NET,但如果这是唯一的方法,我会这样做: