C# 如何解析和读取Json格式的文本?
我有一个带有以下格式Json的文件C# 如何解析和读取Json格式的文本?,c#,json.net,C#,Json.net,我有一个带有以下格式Json的文件 { "Id": 0, "MsgId": 125, "ExceptionDetails": "whatever2" } { "Id": 1, "MsgId": 135, "ExceptionDetails": "whatever2" } 这正是它在没有制动器的文件中的方式 我需要解析这个文本文件并获取这些键的值,例如,在这个示例中,我需要获取0和1 var json = System.IO.File.ReadAllText(@"C:
{
"Id": 0,
"MsgId": 125,
"ExceptionDetails": "whatever2"
}
{
"Id": 1,
"MsgId": 135,
"ExceptionDetails": "whatever2"
}
这正是它在没有制动器的文件中的方式
我需要解析这个文本文件并获取这些键的值,例如,在这个示例中,我需要获取0和1
var json = System.IO.File.ReadAllText(@"C:\development\commonArea\test3.txt");
var objects = JArray.Parse(json); // parse as array
foreach (JObject root in objects)
{
foreach (KeyValuePair<String, JToken> app in root)
{
if (app.Key == "Id")
{
var appName2 = app.Key;
Console.WriteLine(I HAVE NO IDEA);
}
}
}
var json=System.IO.File.ReadAllText(@“C:\development\commonArea\test3.txt”);
var objects=JArray.Parse(json);//解析为数组
foreach(对象中的作业对象根)
{
foreach(根目录下的KeyValuePair应用程序)
{
如果(app.Key==“Id”)
{
var appName2=app.Key;
Console.WriteLine(我不知道);
}
}
}
谢谢创建一个匹配的类,然后使用反序列化器。这是使用
System.Web.Script.Serialization
命名空间
public class Item
{
public int Id { get; set; }
public int MsgId { get; set; }
public string ExceptionDetails { get; set; }
}
public class RootObject
{
public List<Item> Items { get; set; }
public RootObject DeserializeClass()
{
JavaScriptSerializer serializer = new JavaScriptSerializer();
RootObject obj = serializer.Deserialize<RootObject >(JSONSTRING);
return obj;
}
}
公共类项目
{
公共int Id{get;set;}
public int MsgId{get;set;}
公共字符串异常详细信息{get;set;}
}
公共类根对象
{
公共列表项{get;set;}
公共根对象反序列化类()
{
JavaScriptSerializer serializer=新的JavaScriptSerializer();
rootobjectobj=serializer.Deserialize(JSONSTRING);
返回obj;
}
}
创建一个匹配的类,然后使用反序列化器。这是使用System.Web.Script.Serialization
命名空间
public class Item
{
public int Id { get; set; }
public int MsgId { get; set; }
public string ExceptionDetails { get; set; }
}
public class RootObject
{
public List<Item> Items { get; set; }
public RootObject DeserializeClass()
{
JavaScriptSerializer serializer = new JavaScriptSerializer();
RootObject obj = serializer.Deserialize<RootObject >(JSONSTRING);
return obj;
}
}
公共类项目
{
公共int Id{get;set;}
public int MsgId{get;set;}
公共字符串异常详细信息{get;set;}
}
公共类根对象
{
公共列表项{get;set;}
公共根对象反序列化类()
{
JavaScriptSerializer serializer=新的JavaScriptSerializer();
rootobjectobj=serializer.Deserialize(JSONSTRING);
返回obj;
}
}
您提供的JSON无效。我对其进行了修改,使其成为有效的JSON数组:
[
{ "Id": 0, "MsgId": 125, "ExceptionDetails": "whatever2" },
{ "Id": 1, "MsgId": 135, "ExceptionDetails": "whatever2" }
]
您提供的JSON无效。我对其进行了修改,使其成为有效的JSON数组:
[
{ "Id": 0, "MsgId": 125, "ExceptionDetails": "whatever2" },
{ "Id": 1, "MsgId": 135, "ExceptionDetails": "whatever2" }
]
OP有一个对象数组,我怀疑它是否可以用一个
int-Id
字段表示为单个Class
实例。@IlyaIvanov您的权利,我只是没有注意到,因为json很时髦。edit above.OP有一个对象数组,我怀疑它是否可以表示为一个带有一个int-Id
字段的Class
实例。@IlyaIvanov您的权利,我只是没有注意到,因为json很时髦。编辑上面。谢谢你,这就是我想要的,然后给伊利亚一些爱,并把它标记为答案!谢谢你,这就是我想要的,然后给伊利亚一些爱,并把它作为答案!