这是我写的代码,我的用意就是让界面弹出那个messagebox,但总是卡在第一步,要如何严谨一点呢?
使用HasValues
属性,示例代码如下:
using System;
using Newtonsoft.Json.Linq;
namespace ConsoleApp2
{
public class MyProgram
{
static void Main(string[] args)
{
var json1 = "{\"data\":{\"workorder_id\":123}}";
var jt1 = JObject.Parse(json1);
if (!jt1.GetValue("data").HasValues)
{
Console.WriteLine("不存在此工单号1");
}
else
{
Console.WriteLine(jt1["data"]["workorder_id"]);
}
var json2 = "{\"data\":{}}";
var jt2 = JObject.Parse(json2);
if (!jt2.GetValue("data").HasValues)
{
Console.WriteLine("不存在此工单号2");
}
else
{
Console.WriteLine(jt2["data"]["workorder_id"]);
}
Console.ReadKey();
}
}
}
运行结果如下:
123
不存在此工单号2
你不严谨就不严谨在:
【当 jt为null是 jt["data"] 会报错、当 jt["data"] 为null的时候 jt["data"]["workerder_id"]会报错 】然后你都没处理