原JSON字符串
{
"errcode": 0,
"errmsg": "ok",
"process_instance": {
"attached_process_instance_ids": [ ],
"biz_action": "NONE",
"business_id": "20210125000534484",
"create_time": "2021-01-25 16:39:53",
"form_component_values": [
{
"component_type": "TableField",
"ext_value": "{\"statValue\":[{\"id\":\"MoneyField-JQYS83D4\",\"label\":\"总报销金额(元)\",\"upper\":\"贰角伍分\",\"num\":\"0.25\"}],\"componentName\":\"TableField\"}",
"id": "TableField-MINGXI",
"name": "报销明细",
"value": "[{\"rowValue\":[{\"componentType\":\"MoneyField\",\"label\":\"报销金额(元)\",\"extendValue\":\"{\\\"upper\\\":\\\"壹角贰分\\\",\\\"componentName\\\":\\\"MoneyField\\\"}\",\"value\":\"0.12\",\"key\":\"MoneyField-JQYS83D4\"},{\"componentType\":\"DepartmentField\",\"label\":\"费用所属小组\",\"extendValue\":[{\"number\":3,\"name\":\"事业部\",\"id\":\"1567735\"}],\"value\":\"事业部\",\"key\":\"DepartmentField_1F0JU5NK816O0\"},{\"componentType\":\"TextNote\",\"label\":\"说明\",\"value\":\"1、费用归属总部选行政中心本部。\\n5、外联部发生的费用,不能明确区分到下级巴的,费用归属选市场中心本部。\\n6、发生的费用涉及各个部门的(如年会费用),归属总部费用选行政中心本部。\",\"key\":\"TextNote_1XJOZAY9Z6N40\"},{\"componentType\":\"DDSelectField\",\"label\":\"报销类别\",\"extendValue\":{\"label\":\"办公费\",\"key\":\"option_K4JNCM0A\"},\"value\":\"办公费\",\"key\":\"DDSelectField-IZTK5BYV\"},{\"componentType\":\"DDSelectField\",\"label\":\"是否需要入库\",\"extendValue\":{\"label\":\"不需要入库(费用)\",\"key\":\"option_1\"},\"value\":\"不需要入库(费用)\",\"key\":\"DDSelectField-KBT1HP2U\"},{\"componentType\":\"TextareaField\",\"label\":\"费用明细\",\"value\":\"测试报销(勿批)测试报销(勿批)测试报销(勿批)测试报销(勿批)测试报销(勿批)测试报销(勿批)测试报销(勿批)\",\"key\":\"费用明细\"}]},{\"rowValue\":[{\"componentType\":\"MoneyField\",\"label\":\"报销金额(元)\",\"extendValue\":\"{\\\"upper\\\":\\\"壹角叁分\\\",\\\"componentName\\\":\\\"MoneyField\\\"}\",\"value\":\"0.13\",\"key\":\"MoneyField-JQYS83D4\"},{\"componentType\":\"DepartmentField\",\"label\":\"费用所属小组\",\"extendValue\":[{\"number\":2,\"name\":\"经营管理部\",\"id\":\"150926607\"}],\"value\":\"经营管理部\",\"key\":\"DepartmentField_1F0JU5NK816O0\"},{\"componentType\":\"TextNote\",\"label\":\"说明\",\"value\":\"1、归属总部费用选行政中心本部。\",\"key\":\"TextNote_1XJOZAY9Z6N40\"},{\"componentType\":\"DDSelectField\",\"label\":\"报销类别\",\"extendValue\":{\"label\":\"餐饮费\",\"key\":\"option_K4JNCM0H\"},\"value\":\"餐饮费\",\"key\":\"DDSelectField-IZTK5BYV\"},{\"componentType\":\"DDSelectField\",\"label\":\"是否需要入库\",\"extendValue\":{\"label\":\"不需要入库(费用)\",\"key\":\"option_1\"},\"value\":\"不需要入库(费用)\",\"key\":\"DDSelectField-KBT1HP2U\"},{\"componentType\":\"TextareaField\",\"label\":\"费用明细\",\"value\":\"测试报销(勿批)测试报销(勿批)测试报销(勿批)测试报销(勿批)测试报销(勿批)测试报销(勿批)测试报销(勿批)\",\"key\":\"费用明细\"}]}]"
},
{
"component_type": "DDSelectField",
"ext_value": "{\"label\":\"总部\",\"key\":\"option_2\"}",
"id": "DDSelectField_WBK6D86XC0",
"name": "费用所属院区",
"value": "总部"
}
],
"operation_records": [
{
"date": "2021-01-25 16:39:53",
"operation_result": "NONE",
"operation_type": "START_PRESS_INSTANCE",
"userid": "24104569292501"
}
],
"originator_dept_id": "1508735",
"originator_dept_name": "总部-经营中心-扩展事业部",
"originator_userid": "24104567501",
"result": "",
"status": "RUNNING",
"tasks": [
{
"activity_id": "334d_43",
"create_time": "2021-01-25 16:39:53",
"task_result": "NONE",
"task_status": "RUNNING",
"taskid": "67206622",
"url": "aflow.dingtalk.com?procInsId=578ba9-eb2c-4f9d-903b-0dc002038&taskId=672063722&businessId=20210125534484",
"userid": "141547300126278817"
}
],
"title": "***提交的集团报销"
},
"request_id": "8p3gj9629iq7"
}
字符串转JSON
因为form_component_values里的详情返回的不是JSON格式,需要转义
要提取报销金额,承担部门等
string strcdbm = listValueVO[1].Value.ToString(); //承担部门编码(费用所属院区)
string strbxsm = listValueVO[0].Value;//报销说明.这个listValueVO[0]就是form_component_values节点
JArray jarry = (JArray)JsonConvert.DeserializeObject(strbxsm);
//JArray jarry = JArray.Parse(jo["rowValue"].ToString());
string thisid = "1";//分录ID
string parentId = business_id;//主表Id
for (var i02 = 0; i02 < jarry.Count; i02++)
{
JObject j = JObject.Parse(jarry[i02].ToString());
JArray jarry1 = JArray.Parse(j["rowValue"].ToString());
JObject jk0 = JObject.Parse(jarry1[0].ToString());//报销金额0.12
JObject jk1 = JObject.Parse(jarry1[1].ToString());//承担部门编码150867735
JObject jk3 = JObject.Parse(jarry1[3].ToString());//费用项目编码,名称办公费
string thisAmount = jk0["value"].ToString();//报销金额
string payDepart = jk1["extendValue"].ToString();//承担部门编码
payDepart = payDepart.Substring(payDepart.IndexOf("id")+2);
payDepart = payDepart.Replace("\"", "").Replace(":", "").Replace("}", "").Replace("]", "").Replace(" ", "");
string costItem = jk3["value"].ToString();//费用项目编码
//for (var k = 0; k < jarry1.Count; k++)
//{
// //JObject jk = JObject.Parse(jarry1[k].ToString());
//}
string a03 = "";
}
string a02 = "";