C# 从JSON中提取第一个元素
如何从Json中仅获取第一个元素C# 从JSON中提取第一个元素,c#,json,C#,Json,如何从Json中仅获取第一个元素 //take result back void HandleIncomingMessage(object sender, PEventArgs e) { RetMessage += e.Result; //here can not deserialize correct var deserialized_message = JsonConvert.DeserializeObject<Messa
//take result back
void HandleIncomingMessage(object sender, PEventArgs e)
{
RetMessage += e.Result;
//here can not deserialize correct
var deserialized_message = JsonConvert.DeserializeObject<Message>(RetMessage);
}
解决方案是静态的
JObject obj= JObject.Parse(here pass the JSON);
string id= JSON[0]["unique_id"],
string name= JSON[0]["action_name"],
string sdate= JSON[0]["start_date"],
string edate= JSON[0]["end_date"]
动态意味着通过i而不是0。解决方案是静态
JObject obj= JObject.Parse(here pass the JSON);
string id= JSON[0]["unique_id"],
string name= JSON[0]["action_name"],
string sdate= JSON[0]["start_date"],
string edate= JSON[0]["end_date"]
动态意味着传递i而不是0。获取json字符串并使用
获取json字符串并使用 反序列化到
列表
,然后读取其第一个元素的属性
//using Newtonsoft.Json;
var input = @"[{""unique_id"":55,""action_name"":""INSERT"",""start_date"":""2018-06-11T16:00:00"",""end_date"":""2018-06-11T17:00:00""},""1sddsd"",""my_channel""]";
var output = JsonConvert.DeserializeObject<List<dynamic>>(input);
Console.WriteLine(output[0].unique_id);
//使用Newtonsoft.Json;
var input=@“[{”唯一id“:55”,“操作名称“:”插入“,”开始日期“:”2018-06-11T16:00:00“,”结束日期“:”2018-06-11T17:00:00“,”1SDSD“,”我的频道“];
var输出=JsonConvert.DeserializeObject(输入);
Console.WriteLine(输出[0]。唯一的\u id);
输出:
五十五
反序列化到列表
,然后读取其第一个元素的属性
//using Newtonsoft.Json;
var input = @"[{""unique_id"":55,""action_name"":""INSERT"",""start_date"":""2018-06-11T16:00:00"",""end_date"":""2018-06-11T17:00:00""},""1sddsd"",""my_channel""]";
var output = JsonConvert.DeserializeObject<List<dynamic>>(input);
Console.WriteLine(output[0].unique_id);
//使用Newtonsoft.Json;
var input=@“[{”唯一id“:55”,“操作名称“:”插入“,”开始日期“:”2018-06-11T16:00:00“,”结束日期“:”2018-06-11T17:00:00“,”1SDSD“,”我的频道“];
var输出=JsonConvert.DeserializeObject(输入);
Console.WriteLine(输出[0]。唯一的\u id);
输出:
五十五
JSON[0]
..?显示原始JSON…如果发布原始JSON字符串而不是调试窗格的图像,此问题将得到极大改善。由于JSON是非结构化的,因此需要使用动态解析,将其解析为JArray
,然后抓取第一个元素并将其反序列化到您的消息类型中。这应该可以工作:JArray.Parse(json)[0].ToObject()
json[0]
..?显示原始json…如果您发布原始json字符串而不是调试窗格的图像,这个问题将得到极大的改进。因为您的json是非结构化的,您需要使用动态解析,将其解析为JArray
,然后获取第一个元素并将其反序列化为您的消息
类型。这应该可以工作:JArray.parse(json)[0]。ToObject()
。您的意思是JArray.parse
。否,它是Newtonsoft.Json.Linq的JObject.Parse
,你的意思是JArray.Parse
。不,它是Newtonsoft.Json.Linq的JObject.Parse
,否决的原因:什么是Json
?JSON
从何而来?您现在遇到了与aditya相同的问题。否决投票的原因:什么是JSON
?JSON
从何而来?您现在遇到了与aditya相同的问题。您是对的,这有助于我对其进行反序列化。谢谢你是对的,这有助于我反序列化它。谢谢