私はNewtonsoft.Jsonを使ってjsonの文字列をObjectに逆シリアル化していますが、ノードがnull
かどうかは判断できません。例えば。 jo["data"]["prevtime"]
、時にはjson
にはノードが["prevtime"]
、時には["prevtime"]
がありません。 ["prevtime"]
がnull
の場合、エラーが報告されます。jsonのノードを判断するには
var jo = JObject.Parse(content);
if (jo["data"].ToString() == "")
return new StatusCollection();
var jInfo = jo["data"]["info"];
StatusCollection list = new StatusCollection();
Status status = null;
if (jInfo != null)
{
foreach (var j in jInfo.Children())
{
if (jo["data"]["prevtime"] != null)
{
status.Nexttime = jo["data"]["nexttime"].ToString();
status.Prevtime = jo["data"]["prevtime"].ToString();
}
status = j.ToObject<Status>();
if (!string.IsNullOrEmpty(status.Head))
{
status.Head += "/50";
}
if (!string.IsNullOrEmpty(status.From))
{
status.From = "来自" + status.From;
}
list.Add(status);
}
}
この行がエラーを報告します[IF(!城[ "データ"] [ "prevtime"] = NULL)]がない場合は、[ "prevtime"]城の[中」データ"]。 –