zoukankan      html  css  js  c++  java
  • JSON序列化框架 【Newtonsoft.Json】 的使用

    Newtonsoft.Json 是.net 下序列化成Json和把Json反序列化为对象的一个框架

    框架地址: https://www.newtonsoft.com/json

    直接上代码:

    对象或集合 转 json字符串

    //转成json
    string json = JsonConvert.SerializeObject(users, Formatting.Indented);

    json 转 集合(list)

    //转换集合
    var jArray = JsonConvert.DeserializeObject<List<User>>(myStr);

    json 转 对象

    //转换对象
    var jObject = JsonConvert.DeserializeObject<User>(myStr);

    完整代码:

     1 using Newtonsoft.Json;
     2 using Newtonsoft.Json.Linq;
     3 using System.Collections.Generic;
     4 using System.Data;
     5 
     6 namespace StudentManagerMvc.Common.Json
     7 {
     8     public static class JsonHelper
     9     {
    10         /// <summary>
    11         /// Json To Object
    12         /// </summary>
    13         /// <param name="json">Json</param>
    14         /// <returns>Object</returns>
    15         public static object ToObjct(this string json)
    16         {
    17             return json==null?null:JsonConvert.DeserializeObject(json);
    18         }
    19         /// <summary>
    20         /// Object To Json
    21         /// </summary>
    22         /// <param name="obj">Object</param>
    23         /// <returns>Json</returns>
    24         public static string ToJson(this object obj)
    25         {
    26             return JsonConvert.SerializeObject(obj);
    27         }
    28         /// <summary>
    29         /// Json To Object T
    30         /// </summary>
    31         /// <typeparam name="T"></typeparam>
    32         /// <param name="Json"></param>
    33         /// <returns></returns>
    34         public static T ToObject<T>(this string json)
    35         {
    36             return json == null ? default(T) : JsonConvert.DeserializeObject<T>(json);
    37         }
    38         /// <summary>
    39         /// Json To List
    40         /// </summary>
    41         /// <typeparam name="T"></typeparam>
    42         /// <param name="Json"></param>
    43         /// <returns></returns>
    44         public static List<T> ToList<T>(this string json)
    45         {
    46             return json == null ? null : JsonConvert.DeserializeObject<List<T>>(json);
    47         }
    48         /// <summary>
    49         /// Json To Table
    50         /// </summary>
    51         /// <param name="Json"></param>
    52         /// <returns></returns>
    53         public static DataTable ToTable(this string json)
    54         {
    55             return json == null ? null : JsonConvert.DeserializeObject<DataTable>(json);
    56         }
    57     }
    58 }

    日期类型属性按指定格式序列化

        IsoDateTimeConverter dtConverter = new IsoDateTimeConverter { DateTimeFormat = "yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'" };
        requestData = JsonConvert.SerializeObject(input, dtConverter);
     *****************************
     *** Keep learning and growing. ***
     *****************************
  • 相关阅读:
    lxml库之xpath的使用
    简单使用三层架构完成学生管理系统之增加功能
    mybatis——逆向工程以及案例
    Java——mybatis(使用mybatis对mysql数据库进行增删改查的操作)
    linux运维、架构之路-K8s故障排查
    linux运维、架构之路-管理K8s组件日志
    linux运维、架构之路-k8s监控集群资源利用率
    linux运维、架构之路-k8s部署redis
    linux运维、架构之路-kubernetes集群维护
    linux运维、架构之路-kubeadm快速部署kubernetes集群
  • 原文地址:https://www.cnblogs.com/gangle/p/9292695.html
Copyright © 2011-2022 走看看