2016-07-22 10 views
-1

とJSONに配列データを作成します。私は次のようなJSONデータを作成しようとしていますC#の

var data = [[1, 27], [2, 34], [3, 51], [4, 48], [5, 55], [6, 65], [7, 
      61], [8, 70], [9, 65], [10, 75], [11, 57], [12, 59], [13, 62]]; 

私はすでに試してくださいが、手動で文字列ビルダを使用しますが、私はそれが良い解決策ではありません知っている、私はいくつかのマージを作成しますこのようなもの

var bldgNum = new int[] { 1, 2, 5 }; 
    var flatNum = new int[] { 27, 109, 25, 200 }; 
    var address = bldgNum 
       .Zip(flatNum, (bl, fl) => "[" + bl + ", " + fl.ToString() + "]"); 

おそらく誰もそれを行うためのよりよい解決策を持っています。

+2

の可能性のある重複[他の項目への参照として設定つのアレイ項目propety値とJSONにC#の配列を変換する方法(http://stackoverflow.com/questions/19953335/how-to-convert- c-sharp-arrays-to-json-one-array-item-propety-value-as-r) – demo

+0

[C#でJSON文字列を作成する方法](http://stackoverflow.com/)質問/ 1056121/how-to-create-json-string-in-c-sharp) – AndyJ

答えて

1

あなたは、配列の配列を作成し、文字列を生成するためにJavaScriptSerializerを使用することができます。

// This creates an array of two-element arrays: 
var address = bldgNum 
    .Zip(flatNum, (bl, fl) => new[] {bl, fl}) 
    .ToArray(); 
// This produces a JSON string that corresponds to your array-of-arrays: 
var jss = new JavaScriptSerializer(); 
var str = jss.Serialize(address); 
+0

enlightmentのおかげですてきなので、基本的には私の解決策は配列を作成して、配列aと配列bを作ってから、あなたが答えを書いたような2要素配列の場合、JavaScriptSerializer()ではなく、JsonConvert.SerializeObject(address)で変換します。 – awancilik

+0

@awancilikそうです、「JsonConvert」もうまくいきます。 – dasblinkenlight

0

ます。またNewtonsoft.Jsonライブラリを使用することができます(あなたがNuGetからそれを得ることができます)。あなたの例では、このような何かがあなたの問題を解決するはずです。

var result = new List<int[]> {new[] {1, 27}, new[] {2, 34}, new int[] {3, 51}}; 
var json = Newtonsoft.Json.JsonConvert.SerializeObject(result); 
+0

あなたの答えはありがたいですが、私はすでにそれを解決しました – awancilik

関連する問題