C#winform的json取指定值的问题

这是我的json文件

{
  "code": 1,
  "result": {
    "work_order_no": 10001,
    "product_name": "苹果",
    "process_no": 100,
    "process_no_order": 1,
    "tempalte_address": "1.jpg",
    "process_arr": [ 5, 4, 3, 2, 1 ]
  }
}

这是我的代码

JObject jt = Newtonsoft.Json.JsonConvert.DeserializeObject<JObject>(File.ReadAllText("json2.json"));
            string a=(jt["process_arr"].ToString());
            string b= (jt["process_no"].ToString());

但是会出现报错,如图

img

但是我把json文件去掉变成这样,就可以了,不知道为什么?那我要如何保留我原来的json文件

{
    "work_order_no": 10001,
    "product_name": "苹果",
    "process_no": 100,
    "process_no_order": 1,
    "tempalte_address": "1.jpg",
    "process_arr": [ 5, 4, 3, 2, 1 ]
}

还有一个问题就是,我想显示"process_no"+"-"+"process_arr",类似于100-1,100-2,100-3,但是输出"process_arr"的时候是连带[5,4,3,2,1]输出的,要如何达到100-1,100-2,100-3的效果!

求指教!两个问题,谢谢

json文件格式你没弄明白,json基本格式有object、array、int、string等几种。
1.第一个问题,你要取 process_no的值,应该是jt["result"]["process_no"],而且这个值是数值型的,不能用ToString来,得用ToInt。
2.第二个问题,process_arr是一个array数组类型的值,所以你取值也得按数组方式来,例如取数组中第一个值,应该是jt["result"]["process_arr"][0].ToInt(),当然之前要先判断各节点是否存在,否则容易出现你图中的错误,具体你可以百度下,建议先了解json格式基本知识再来写代码。