10

JSON.netを使用して JSON 文字列をデコードしていますが、次のエラーが見つかりました。

Newtonsoft.Json.dll の「Newtonsoft.Json.JsonReaderException」の例外

追加情報: 文字列の読み取り中にエラーが発生しました。予期しないトークン: StartArray。パス「メンション」、3 行目、3 番目の位置。

JSON 文字列は次のようなものです。

{
"mentions":
    [
        {
            "id":"1234",
            "alert_id":123,
            "title":"Bla bla bla",
            "url":"http:\/\/www.example.com\/",
            "unique_id":"123",
            "published_at":"2013-07-30T11:26:36.92131100+00:00",
            "created_at":"2013-07-30T11:27:08.0+00:00",
            "updated_at":"2013-07-30T11:27:09.0+00:00",
            "favorite":false,
            "trashed":false,
            "trashed_set_by_user":false,
            "read":false,
            "tone":0,
            "tone_score":0.14732,
            "relevance_score":1,
            "source_type":"forums",
            "source_name":"xxx",
            "source_url":"http:\/\/example.com\/",
            "language_code":"es",
            "tasks":[],
            "logs":[],
            "children":[],
            "picture_url":"https:\/\/example.com\/example.jpg"
        },
        {
            "id":"1235",
            "alert_id":123,
            "title":"Bla bla bla",
            "url":"http:\/\/www.example.com\/",
            "unique_id":"124",
            "published_at":"2013-07-30T11:26:36.92131100+00:00",
            "created_at":"2013-07-30T11:27:08.0+00:00",
            "updated_at":"2013-07-30T11:27:09.0+00:00",
            "favorite":false,
            "trashed":false,
            "trashed_set_by_user":false,
            "read":false,
            "tone":0,
            "tone_score":0.14732,
            "relevance_score":1,
            "source_type":"forums",
            "source_name":"xxx",
            "source_url":"http:\/\/example.com\/",
            "language_code":"es",
            "tasks":[],
            "logs":[],
            "children":[],
            "picture_url":"https:\/\/example.com\/example.jpg"
        }
    ],
"recently_reenabled":false
}

問題は、「[」が言及の配列を開始する 3 行目にあるようです。このエラーは多かれ少なかれ一般的ですが、解決策が見つかりませんでした。

これは私のコードです:

    Dim result As New Dictionary(Of String, String)
    Dim serializer As New System.Web.Script.Serialization.JavaScriptSerializer
    Dim jsonString As String

    jsonString = txtJSON.Text

    result = JsonConvert.DeserializeObject(Of Dictionary(Of String, String))(jsonString)

ヘルプ?

4

1 に答える 1

13

JSON を にデシリアライズしようとしているようですDictionary(Of String, String)。ただし、明らかに の値は;でmentionsはありません。Stringオブジェクトの配列です。代わりにデシリアライズを試すことができDictionary(Of String, Object)ます。

于 2013-07-31T14:31:59.123 に答える