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 に答える