欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

.NET字符串转JSON格式

程序员文章站 2024-01-21 17:57:52
...

原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 = "";

 

 

 

 

相关标签: asp.net