2017-07-28 8 views
0

私は、サーバーからのデータが "data"プロパティで返され、何が返されないのかを知る必要があります。どうすれば変換できますか?プロパティを持つオブジェクトにJSONをパースする方法

から:

{ 
    "name": "Tiger Nixon", 
    "position": "System Architect", 
    "salary": "$320,800", 
    "start_date": "2011/04/25", 
    "office": "Edinburgh", 
    "extn": "5421" 
} 

へ:VB.netで

{ 
    "data": [{ 
     "name": "Tiger Nixon", 
     "position": "System Architect", 
     "salary": "$320,800", 
     "start_date": "2011/04/25", 
     "office": "Edinburgh", 
     "extn": "5421" 
    }] 
} 

(あまりにもC#ですることができ、私が変換されます)。

+1

は単に '前の配列にあなたのオブジェクトを置きますJsonConvert.SerializeObject() ' – codtex

+0

https://stackoverflow.com/questions/26795643/how-to-convert-object-containing-objects-into-array-of-objectsこれは、 – soverflow77

答えて

1

に関連するモデルを持って考えると

Model[] data = JObject.Parse(json_string).ToObject<Model[]>(); 

のようなものをバックシリアライズすることができますお使いのモデルクラスは、あなただけの匿名オブジェクトでラップし、シリアライズできる:

Dim anon = New With {.data = New List(Of Model) From {model}} 
Dim json As String = JsonConvert.SerializeObject(anon, Formatting.Indented) 

フィドル:あなたはJSON文字列で始まるしている場合https://dotnetfiddle.net/45RtrC


、あなたが使用してそれを変換することができJObject

Dim jo As JObject = JObject.Parse(json) 
jo = New JObject(New JProperty("data", New JArray(jo))) 
json = jo.ToString() 

フィドル:https://dotnetfiddle.net/ezP6QR

1

あなたは配列にそれを解析して、あなたがのインスタンスを開始している場合は、あなたのJSON文字列

public class Model 
{ 
    public string name { get; set; } 
    public string position { get; set; } 
    public string salary { get; set; } 
    public string start_date { get; set; } 
    public string office { get; set; } 
    public string extn { get; set; } 
} 
+0

がまだ「名前」のプロパティを取得できない場合に役立ちます。これは次のようになります:[{"status":2、 "transactionId":12345、 "creditCardNumber": "1234324324"、 "supplier": "Office Depot"、 "createdAt": "2008-12-28T00:00: 00」、「金額」:500.0}] –

関連する問題