C#winform如何把有关json这段代码写严谨不让他退到代码页报错呢?

这是我写的代码,我的用意就是让界面弹出那个messagebox,但总是卡在第一步,要如何严谨一点呢?

img

使用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"]会报错 】然后你都没处理