2

我有准备表的小问题。通常我通常在 PHP 中准备这个表:

array(2) {
  ["function"]=>
     string(14) "saveStats"
  ["data"]=>
  array(10) {
     ["id"]=>
         string(28) "6079f20ac3_1344412683016_427"
     ["stat"]=>
         array(2) {
             [461]=>
                 string(572) "1834!:!606113;2636701;2532259;8615557991;"
             [462]=>
                 string(664) "947679;1976657;1457921;1302869;2966923;2361071;6876943;5641369;560761;3469061;5438071;9646643;8575873;339307;9652169;2581441;5158451;6210209;6062971;2815237;3396139;2527643;2502571;7882529;536729;1171073;8825407;351427;1845373;8828471;1099463;6653011;5433293;86027;8258377;6748487;5237059;8006827;3996193;117389;7449523;9847147;3476761;7073981;7491493;1603837;8972801;699401;3354649;8120317;3405823;8545499;2672701;1373363;2397077;3417523;8772983;157999;6294929;6024589;6760669;5923937;4560691;8324143;824477;3575549;1372559;986287;4860203;5774323;1832353;4198973;3639841;9179101;718337;4949353;5745787;1608041;8169241;46549;3272723;7622267;"
    }
    ["userAgent"]=>
        string(67) "Mozilla/5.0 (Windows NT 6.1; rv:14.0) Gecko/20100101 Firefox/14.0.1"
    ["ip"]=>
        string(3) "::1"
    ["referer"]=>
        string(4) "Brak"
    ["limit"]=>
        int(1)
  }
}

["stat"] 中的数据可以是数组 10 或 2 结尾,每个数组都有“随机”数字(查看 [461][462] 等)

我必须稍后将这些数据放入 JSON(我使用 newtonsoft.Json)。

我如何在 C# 中准备这个对象?

4

1 回答 1

1

试试这个(.NET 4)(见下文),唯一的问题是列 461 和 462,C# 不允许变量名以数字开头(我已将它们重命名为 n461 和 n462)但很容易弥补这一点使用 newtonsoft.Json在这里看到类似的问题

var table =  new {
    function = "saveStats",
    data = new  {
        id = "6079f20ac3_1344412683016_427" , 
        stat = new List<dynamic>  {
                          new {  n461 = "1834!:!606113;263..." },
                          new {  n462 = "947679;1976657;14..." }
                        },
        userAgent = "Mozilla/5.0 (Windows NT 6.1; rv:14.0) Gecko/20100101 Firefox/14.0.1",
        ip = "::1",
        referer = "Brak",
        limit = 1
    }
 };

我使用了动态和匿名类,但您当然可以根据需要声明“真实”类。(如果您使用的是 .NET 3.5 或更早版本,这是必须的)

于 2012-08-09T12:33:34.723 回答