1

以前にこの質問をしましたが、現在、別の同様の JSON 文字列で問題が発生しています。

これが私のJSON文字列です:

{"responseObject":{"code":"0","message":"HI","url":"www.abc.com","token":"{\"token\":\"abcdef\",\"id\":123}"}}

動作していない dserialize する私のコードは次のとおりです。

var def = new
        {
            code = string.Empty,
            message = string.Empty,
            url= string.Empty,
            token = new {token = string.Empty}
        };

        var response = JsonConvert.DeserializeAnonymousType(data, def);

        var innerDef = new { token= string.Empty, id= string.Empty };

        var deserializedInner = JsonConvert.DeserializeAnonymousType(response.token.token, innerDef);
4

2 に答える 2

2

2 つの大きな問題がありました。

  1. あなたはresponseObject考慮に入れていませんでした。
  2. アウターtokenに間違ったタイプを指定しました。オブジェクトではなく、JSON を含む文字列です。

これは機能します:

var def = new
{
    responseObject = new
        {
            code = string.Empty,
            message = string.Empty,
            url = string.Empty,
            token = string.Empty
        }
};

var response = JsonConvert.DeserializeAnonymousType(data, def);

var innerDef = new { token = string.Empty, id = string.Empty };

var deserializedInner = 
  JsonConvert.DeserializeAnonymousType(response.responseObject.token, innerDef);
于 2013-11-21T17:08:36.740 に答える
0

トークンはオブジェクトではなく文字列です。"トークン":"

于 2013-11-21T17:08:44.430 に答える