我有以下json字符串
[{"field1":"1","field2":"2","field3":"3"}{"field1":"11","field2":"22","field3":"33"}{"field1":"111","field2":"222","field3":"333"}]
我使用以下代码来解析它 -
var jss = new JavaScriptSerializer();
dynamic data = jss.Deserialize<dynamic>(s);
如何迭代动态数据阵列?
答案 0 :(得分:0)
using System.IO;
using System.Web.Script.Serialization;
namespace Deserialize
{
class Program
{
static void Main()
{
string jsonString = File.ReadAllText("dynamic.json");
var serializer = new JavaScriptSerializer();
dynamic data = serializer.Deserialize<dynamic>(jsonString);
foreach (var item in data)
{
foreach (var subitem in item)
{
System.Console.WriteLine("Key={0}, Value={1}", subitem.Key, subitem.Value);
}
System.Console.WriteLine();
}
System.Console.ReadKey();
}
}
}
我需要添加逗号来分隔json文件中的3个对象才能使用...但我认为这是(大致)你所追求的。对不起,如果我误解了。
答案 1 :(得分:0)
我最终使用了以下代码。
List<myClass> l = JsonConvert.DeserializeObject<List<myClass>>(jsonString);
我没有问题迭代l。
myClass是一个带有字段定义的本地类,需要确保字段和类定义为public。