我有一个由网页提取的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 string
的一部分转换为array
以循环抛出它并将数据放入网格。
我告诉的部分是这样的:
[{\"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
提前致谢!
答案 0 :(得分: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++;
}