Newtonsoft.Json的使用

版权声明:版权所有,需要请联系作者 https://blog.csdn.net/weixin_42930928/article/details/83069549

在使用Newtonsoft.Json时,把发送数据和接收数据放入同一个Root中。发送中不包括接收的数据,接收中不包括发送的数据。如果使用默认的

//object转json
public static string SerializeObject(object value)
public class SetData
{
    public string ArgId { get; set; }
    public string Value { get; set; }
}

public class ResponseData
{
    /// <summary>
    /// 
    /// </summary>
    public string ArgId { get; set; }
    /// <summary>
    /// 
    /// </summary>
    public string Value { get; set; }
    /// <summary>
    /// 
    /// </summary>
    public string Result { get; set; }
    /// <summary>
    /// 
    /// </summary>
    public string Option { get; set; }
}

public class Root
{
    public SetData SetData { get; set; }
    public ResponseData ResponseData { get; set; }
}

 好在Newtonsoft.Json给出了许多重载函数:

1、public static string SerializeObject(object value)
2、public static string SerializeObject(object value, Formatting formatting)
3、public static string SerializeObject(object value, params JsonConverter[] converters)
4、public static string SerializeObject(object value, Formatting formatting, params JsonConverter[] converters)
5、public static string SerializeObject(object value, JsonSerializerSettings settings)
6、public static string SerializeObject(object value, Type type, JsonSerializerSettings settings)
7、public static string SerializeObject(object value, Formatting formatting, JsonSerializerSettings settings)
8、public static string SerializeObject(object value, Type type, Formatting formatting, JsonSerializerSettings settings)

 使用如下方法可以把为null的值过滤掉,转换成的json中将没有与null对应的数据结构

var jsonSetting = new JsonSerializerSettings {NullValueHandling = NullValueHandling.Ignore};
var s = JsonConvert.SerializeObject(root,Formatting.Indented,jsonSetting);

猜你喜欢

转载自blog.csdn.net/weixin_42930928/article/details/83069549