1

我有一个json string由网页获取的。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 stringarray循环抛出它并将数据放入网格。

我告诉的部分是这样的:

[{\"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 回答