C# 对象转JSON和json转对象(转出为dynamic的对象

2018-10-12  本文已影响0人  f5df0a516b61
    /// <summary>
    /// json转换工具
    /// </summary>
    public class JsonTools
    {
        /// <summary>
        /// 对象转JSON
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static string ObjectToJson(object obj)
        {
            return JsonConvert.SerializeObject(obj);
        }

        /// <summary>
        /// JSON转对象 ,获得dynamic类型的对象
        /// </summary>
        /// <param name="jsonString"></param>
        /// <returns></returns>
        public static dynamic JsonToObject(string jsonString)
        {
            return JsonConvert.DeserializeObject<dynamic>(jsonString);
        }
    }

测试代码

class Program
    {
        static void Main(string[] args)
        {
            string json = @"{
  ""showapi_res_error"": """",
  ""showapi_res_id"": ""83e10b52e3be4229a0d99e42975d4304"",
  ""showapi_res_code"": 0,
  ""showapi_res_body"": {
    ""expTextName"": ""中通快递"",
    ""mailNo"": ""632671345422"",
    ""dataSize"": 11,
    ""data"": [
      {
        ""time"": ""2018-05-14 12:47:32"",
        ""context"": ""【临沂市】  快件已在 【临沂莒南】 签收,签收人: 快递超市, 感谢使用中通快递,期待再次为您服务!""
      },
      {
        ""time"": ""2018-05-14 10:46:43"",
        ""context"": ""【临沂市】  快件到达 【临沂莒南】""
      },
      {
        ""time"": ""2018-05-14 08:11:51"",
        ""context"": ""【临沂市】  【临沂莒南】 的金都上城店(15762086855) 正在第2次派件, 请保持电话畅通,并耐心等待""
      },
      {
        ""time"": ""2018-05-13 15:27:36"",
        ""context"": ""【临沂市】  快件离开 【临沂中转部】 发往 【临沂莒南】""
      },
      {
        ""time"": ""2018-05-13 11:47:52"",
        ""context"": ""【临沂市】  快件到达 【临沂中转部】""
      },
      {
        ""time"": ""2018-05-12 06:13:11"",
        ""context"": ""【广州市】  快件离开 【广州中心】 发往 【临沂中转部】""
      },
      {
        ""time"": ""2018-05-12 05:51:06"",
        ""context"": ""【广州市】  快件到达 【广州中心】""
      },
      {
        ""time"": ""2018-05-12 02:32:04"",
        ""context"": ""【深圳市】  快件离开 【深圳中心】 发往 【广州中心】""
      },
      {
        ""time"": ""2018-05-12 02:30:33"",
        ""context"": ""【深圳市】  快件到达 【深圳中心】""
      },
      {
        ""time"": ""2018-05-12 00:51:55"",
        ""context"": ""【深圳市】  快件离开 【福田新福星】 发往 【临沂中转部】""
      },
      {
        ""time"": ""2018-05-11 19:58:38"",
        ""context"": ""【深圳市】  【福田新福星】(0755-83269390、0755-83387020) 的 佳义天吉·嘉顺仓储 (15751169008) 已揽收""
      }
    ],
    ""ret_code"": 0,
    ""expSpellName"": ""zhongtong"",
    ""msg"": ""查询成功"",
    ""updateStr"": ""2018-08-21 10:26:29"",
    ""possibleExpList"": [],
    ""flag"": true,
    ""status"": 4,
    ""tel"": ""95311"",
    ""update"": 1534818389551
  }
}";

            var jsonModel = JsonTools.JsonToObject(json);
            Console.WriteLine(jsonModel.showapi_res_body.expTextName);

            var list = jsonModel.showapi_res_body.data;
            Console.WriteLine(list[0].time);
            foreach (var item in list)
            {
                Console.WriteLine(item.time);
                Console.WriteLine(item.context);
            }
            Console.ReadLine();
        }
    }
上一篇 下一篇

猜你喜欢

热点阅读