zoukankan      html  css  js  c++  java
  • 使用动态类型dynamic让你的省了很多临时类

    客户端与服务端的数据交互使用的数据格式是json格式,为了使客户端与服务端有类对应关系,进行序列化,所以总要定义一些类,使用动态类型dynamic可以不必要定义那么多类。

    测试代码:

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Web;
     5 using System.Web.Mvc;
     6 
     7 namespace dynamic.Controllers
     8 {
     9     /// <summary>
    10     /// 测试Dynamic
    11     /// </summary>
    12     public class DynamicDemoController : Controller
    13     {
    14         //
    15         // GET: /DynamicTest/
    16 
    17         public ActionResult Index()
    18         {
    19             return View();
    20         }
    21 
    22         /// <summary>
    23         /// 测试使用dynamic将客户端的传过来的json反序列化
    24         /// </summary>
    25         /// <param name="jsonValue"></param>
    26         /// <returns></returns>
    27         public ActionResult TestDynamic(string jsonValue)
    28         {
    29             dynamic obj = Newtonsoft.Json.JsonConvert.DeserializeObject<dynamic>(jsonValue);  //反序列化
    30             string str = null;
    31             int age;
    32             foreach (dynamic item in obj)   //遍历这个动态集合
    33             {
    34                 str = item.UserName;  //获取用户名称
    35                 age = item.Age;  //获取用户年龄
    36             }
    37             string result = Newtonsoft.Json.JsonConvert.SerializeObject(obj);  //序列化
    38             return Content(result);
    39         }
    40 
    41     }
    42 }

    发送请求的代码:

     1 @{
     2     ViewBag.Title = "Index";
     3 }
     4 <h2>
     5     测试使用dynamic解析json字符串</h2>
     6 <script src="/Scripts/jquery-1.5.1.min.js" type="text/javascript"></script>
     7 <script>
     8     $(function () {
     9         var arry = [
    10         //{ UserName: "1_测试使用dynamic解析json字符串", Age: "23" },
    11         { UserName: "2_测试使用dynamic解析json字符串", Age: "20" }
    12         ];
    13         $.ajax({
    14             type: 'GET',
    15             url: "/DynamicDemo/TestDynamic",
    16             data: { jsonValue: JSON.stringify(arry) },
    17             success: function (data) {
    18                 alert(data);
    19                 console.log(data);
    20             },
    21             dataType: "json"
    22 
    23         });
    24     });
    25 </script>

    发送请求的结果:

  • 相关阅读:
    Eclipse启动不了
    第三章Hibernate关联映射
    System Generator简介
    Chipscope使用
    总线及数据传输技术【待完善】
    多相滤波器
    notepad++与ISE/Vivado关联
    常用IP核
    〖Linux〗Qt+gsoap开发客户端程序,服务端地址设定的字符串转换处理
    〖Android〗OK6410a的Android HAL层代码编写笔记
  • 原文地址:https://www.cnblogs.com/linJie1930906722/p/5789413.html
Copyright © 2011-2022 走看看