gpt4 book ai didi

c# - 如何通过从 c# 对象中删除空值属性和零 (0) 值属性来优化 json

转载 作者:数据小太阳 更新时间:2023-10-29 02:53:23 26 4
gpt4 key购买 nike

场景:

我必须发送一个 Httpwebrequest,服务器要求它只接受两个 Json 格式的值,我想再向另一台服务器发送一个请求,并且一次要求一个 Json 格式的值。

对于上述场景,我创建了一个类并提供了所有三个属性,如下所示

pubilc class MyClass
{
public string as { get; set;}
public int value { get; set;}
public string asd { get;s et;}
}

对于第一个 HttpWebRequest,到第一个服务器,我只想从 MyClass 'as' 和 'asd' 发送两个属性,现在我将通过 NewtonSoft 的 JsonConvert 函数序列化如下

MyClass class = new MyClass();
string json = JsonConvert.SerializeObject(class);

上述语法将返回具有 0 和空值属性的 json,NewtonSoft 提供了从 Json 中删除空值的函数,但它不能删除具有值 0 的属性,或者您可以说您的属性数据类型是否为 int并且没有分配任何值,而是将 0 分配给这些属性。

从 Json 中删除 Null 属性的语法

string json = JsonConvert.SerializeObject(class, Newtonsoft.Json.Formatting.Indented, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore });

上述语法将在序列化 MyClass 对象期间删除空值。

现在提问,如果 json 的属性为 0,如何从 json 中删除属性。

最佳答案

您可以尝试将 int 属性定义为可为空:

public int? value { get; set;}

关于c# - 如何通过从 c# 对象中删除空值属性和零 (0) 值属性来优化 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27416312/

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