2016-06-20 7 views
0

Newtonsoft.Jsonを使用して配列に変換しようとしているJSON結果があります。 私はウェブサイトから取得する私のJSONの結果は、(読みやすくするためにフォーマットされた)のラインに沿っている:私が見つけたVB.NET - JSONデータを配列に変換する

{ 
"headers": 
    [ 
     "Shift Date", 
     "Shift Number" 
    ], 
"values": 
    [ 
     ["2016-06-19T00:00:00",0], 
     ["2016-06-19T00:00:00",2], 
     ["2016-06-19T00:00:00",1] 
    ] 
} 

コード例は、私はこれがその結果

Dim arr As JArray = JArray.Parse(response.Content) 

を使用することができるはずと言いますしかし、エラー:

An unhandled exception of type 'Newtonsoft.Json.JsonReaderException' occurred in Newtonsoft.Json.dll 

Additional information: Error reading JArray from JsonReader. Current JsonReader item is not an array: StartObject. Path '', line 1, position 1. 

問題の原因となる可能性のあることについてのガイダンスはありますか?私はそれが「ヘッダ」と何かである疑いがあるが、オンラインあなたはJArrayを使用している

答えて

0

を解決する方法上の任意の提案を見つけることができませんが、あなたの入力は実際にはオブジェクトである - データが

{..stuff..}

、すなわち

[ {..stuff..} ]ではなく

あなたがあるためにあなたの入力を再構築した場合:あなたは、その後JArray.Parse(strJson)メソッドを使用することができます

[{ 
    "headers": [ 
     "Shift Date", 
     "Shift Number" 
    ], 
    "values": [ 
     ["2016-06-19T00:00:00", 0], 
     ["2016-06-19T00:00:00", 2], 
     ["2016-06-19T00:00:00", 1] 
    ] 
}] 

現在の構造では、JObject.Parseを使用する必要があります。

+0

ありがとうございました。私はデータがどのように見えるのか(外部のウェブサイトから来るもの)をあまり支配していません。 角括弧を追加するだけで、配列には2列と1行があります。これをデータ型に処理してデータを処理する方法は何でしょうか?もし私がJObjectを使用していれば、それは配列か単一の項目を与えますか?(謝罪は私には全く新しいものです) –

+0

@StephenPefanis - 私はJsonをデータテーブルに変換するメソッドが新しい質問を構成すると思います!それがあなたを助けてくれたと思ったら、私の答えを受け入れてください。 –

+0

心配はいりません。ロビンに感謝します。最初のクエリを解決したので受け入れます。 –

関連する問題