这是我的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());
但是会出现报错,如图
但是我把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格式基本知识再来写代码。