2021-05-15 C# 中Json数据格式的使用及注意事项

C# 中Json数据格式的使用及注意事项

一 、前言

        工作中经常需要将检测数据或者测评数据以Json格式提供给MES或者记入文档中,由于之前对这种常用数据记录格式使用较少,常出现拼写及使用出错,下面将结合经验 分析并记录如下。

二、示例Json

  1. 	json样例如下:
    {
    	"Id": "1234568",
    	"ServerName": "SCAN_COMPBARCD_SUBMIT",
    	"WorkStation": "T30256",
    	"MachineId": "hzdz-123456",
    	"Data": {
    		"Aufnr": "12345678",
    		"CompBarcds": [{
    				"Compbarcds": "123456",
    				"Matnr": "012345"
    			},
    			{
    				"Compbarcds": "123457",
    				"Matnr": "012347"
    			}
    		]
    	}
    }
    

代码段展示了一个简单常用的Json数据,由 JObject 和JArray两种结构,相互结合而成,如果你看不出来可以借助网上的Json格式化助手来查看,Json的组成结构

可用的网站地址如下:

https://www.bejson.com/explore/index_new

https://www.json.cn/ 

以上网站可以验证Json数据 格式是否正确,也可分析正确的Json数据构成。

三、实现Json数据

首先 工程中需要引入:using Newtonsoft.Json.Linq; 名称空间

注意: 以下只是展示以上Json对应代码

private string GeJsonContent(string startTime, string endTime, string programName, string workMode, string eventCode, string eventMsg, string ip)
        {
            string product = string.Empty;
            string[] programNameSplit = programName.Split('-');
            if (programNameSplit.Count() > 0)
            {
                product = programNameSplit[0];
            }

            string ret = "";

            // JObject 格式
            JObject runStatusObj = new JObject();
            runStatusObj["Id"] = "1234568";
            runStatusObj["ServerName"] = "SCAN_COMPBARCD_SUBMIT";
            runStatusObj["WorkStation"] = "T30256";
            runStatusObj["MachineId"] = "hzdz-123456";

            
            JObject dataObj = new JObject();
            dataObj["Aufnr"] = "12345678";

            JArray CompBarcdsJar = new JArray();
            JObject barcdsObj = new JObject();

            barcdsObj ["Compbarcds"] = "123456";
            barcdsObj ["Matnr"] = "012345";
            CompBarcdsJar.Add(barcdsObj ); 

            JObject barcdsObj2 = new JObject();

            barcdsObj2 ["Compbarcds"] = "123457";
            barcdsObj2 ["Matnr"] = "012347";
            CompBarcdsJar.Add(barcdsObj2 );

            dataObj["CompBarcds"] = CompBarcdsJar ;
            runStatusObj["Data"] = dataObj;


            ret = runStatusObj.ToString();
            return ret;
        }

生成结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沐细雨如春风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值