1

私はjson string、Web ページによって取得される を持っています。json のスキーマは次のようになります。

string schema = @"{
    'description': 'A person',
    'type': 'object',
    'properties':
    {
        'error': 
        {
            'type': 'object',
            'properties': 
            {
                'code': { 'type': 'integer' },
                'message': { 'type': 'string' }
            }
        },
        'response':
        {
            'type': 'object',
            'properties':
            {
                'code': { 'type': 'integer' },
                'status': { 'type': 'string' },
                'message': { 'type': ['string', 'object'] , 'items': {'type': 'string'}}
            }
        }
    }
}";

すべてが問題なく、json が有効になりました。

json string今のところ、の一部をarrayto ループに変換して、データを Grid に入れ たいと思います。

私が言った部分は次のようなものです:

[{\"id\":\"1\",\"task\":\"some message here...\",\"sender\":\"123qwe\",\"time\":\"1356136733\"}, [{\"id\":\"1\",\"task\":\"some message here...\",\"sender\":\"123qwe\",\"time\":\"1356136733\"}, ....

それにアクセスするには、これを使用します:

var messages = (string)o["response"]["message"];//o is a JObject

前もって感謝します!

4

1 に答える 1

0

動的型を使用してこれを理解しました...:

var jsonSerializer = new JsonSerializer();
                dynamic stuff = jsonSerializer.Deserialize(new JsonTextReader(new StringReader(json)));
                var ffff = stuff.response.message;

                var jss = new JsonSerializer();
                dynamic st = jsonSerializer.Deserialize(new JsonTextReader(new StringReader((string)ffff)));

                var bv = 0;
                foreach (var msg in st)
                {
                    bv++;
                }
于 2012-12-22T11:55:09.240 に答える