无码国模产在线观看免费-无码国内精品久久人妻-无码国内精品久久综合88-无码国内精品人妻少妇-无码国内精品人妻少妇蜜桃视频-无码国语中文在线播放

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

用C#解析JSON數(shù)據(jù)?這一篇讓你少走3小時(shí)彎路!

admin
2025年4月9日 0:38 本文熱度 230

???? 用C#解析JSON數(shù)據(jù)?這一篇讓你少走3小時(shí)彎路! ????



問(wèn)題現(xiàn)場(chǎng)

當(dāng)你從物聯(lián)網(wǎng)設(shè)備收到如下JSON數(shù)據(jù)時(shí),是否曾為解析頭疼過(guò)?特別地Tasg是一個(gè)動(dòng)態(tài)的列表。此時(shí)我們需要?jiǎng)討B(tài)解析。

{    "IP": "192.168.1.3",    "Status": "Time out",    "Tags": {        "DO1": null,        "AO1": null,        "AD1": null    }}

痛點(diǎn)直擊

  • 如何快速提取IP和狀態(tài)?

  • 嵌套的Tags對(duì)象如何處理?

  • null值會(huì)引發(fā)異常嗎?

  • 代碼寫(xiě)起來(lái)又臭又長(zhǎng)?


??? 解決方案(直接上代碼!)

第一步:安裝Newtonsoft.Json

bash

復(fù)制

Install-Package Newtonsoft.Json -Version 13.0.1


第二步:動(dòng)態(tài)解析核心代碼


using Newtonsoft.Json.Linq;using System;
class Program{    static void Main()    {        // 1?? 解析JSON字符串        JObject data = JObject.Parse(json);
        // 2?? 提取基礎(chǔ)字段        string ip = (string)data["IP"]; // "192.168.1.3"        string status = (string)data["Status"]; // "Time out"
        // 3?? 處理嵌套對(duì)象        JObject tags = (JObject)data["Tags"];        foreach (var tag in tags.Properties())        {            Console.WriteLine($"標(biāo)簽名:{tag.Name},值:{tag.Value}");        }
        // 4?? 安全訪問(wèn)null值        JToken do1 = tags["DO1"];        Console.WriteLine($"DO1是否為null:{do1 == null}"); // True    }}

?? 關(guān)鍵技巧解析

1?? 動(dòng)態(tài)解析 vs 強(qiáng)類型解析

  • 動(dòng)態(tài)解析(本文方法):適合不確定JSON結(jié)構(gòu)的場(chǎng)景(如第三方接口),用JObject像操作字典一樣靈活。

  • 強(qiáng)類型解析:適合穩(wěn)定結(jié)構(gòu),先定義類再用JsonConvert.DeserializeObject<T>(文末附代碼)。

2?? Null值處理

  • JSON中的null會(huì)被轉(zhuǎn)換為JToken類型的null直接判斷即可,無(wú)需擔(dān)心空引用異常!

3?? 遍歷嵌套對(duì)象

Properties()方法一鍵獲取所有屬性,無(wú)需預(yù)先知道字段名。

4?? 防崩秘籍:安全訪問(wèn)

  • data.Value<string>("字段名")代替強(qiáng)制轉(zhuǎn)換,避免字段缺失時(shí)報(bào)錯(cuò):

csharp

復(fù)制

string ip = data.Value<string>("IP") ?? "未知IP";

 擴(kuò)展應(yīng)用:強(qiáng)類型解析

適合需要將JSON映射到業(yè)務(wù)對(duì)象的場(chǎng)景:

csharp

public class DeviceData{    public string IP { getset; }    public string Status { getset; }    public Dictionary<stringobject> Tags { getset; }}
// 使用方式var device = JsonConvert.DeserializeObject<DeviceData>(json);Console.WriteLine(device.Tags["DO1"]); // 輸出null

 避坑指南

1?? 字段不存在? 用data.ContainsKey("字段名")先判斷!
2?? 類型轉(zhuǎn)換錯(cuò)誤? 用try-catch包裹或先用JToken.Type判斷類型。
3?? 性能優(yōu)化:頻繁解析時(shí),優(yōu)先用JsonConvert.DeserializeObject

實(shí)測(cè)結(jié)果

運(yùn)行文中代碼,控制臺(tái)輸出:

標(biāo)簽名:DO1,值:標(biāo)簽名:AO1,值:標(biāo)簽名:AD1,值:IP: 192.168.1.3Status: Time outDO1是否為nullTrue

?? 總結(jié)

  • 簡(jiǎn)單結(jié)構(gòu)JObject動(dòng)態(tài)解析,5行代碼搞定

  • 復(fù)雜場(chǎng)景用強(qiáng)類型解析,維護(hù)性更高

  • Null值不可怕,直接判斷即可

技術(shù)棧:C# + Newtonsoft.Json
適用場(chǎng)景:物聯(lián)網(wǎng)數(shù)據(jù)處理、API接口解析、配置文件讀取


閱讀原文:原文鏈接


該文章在 2025/4/9 12:09:59 編輯過(guò)
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車(chē)隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷(xiāo)售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 久久欠看片福利一区二区三区 | 1024在线观看视频亚洲 | 国产中文字幕在线观看 | 国产精品无码久久av天天看 | 国产精品ⅴa在线观看 | 18禁成年免费无码 | 亚洲 欧美 国产 日韩 中文字幕 | 久久久久无码精品国产无码一区精品中文字幕久久久久久a | 免费线上成人短片精品 | 噜噜AV亚洲一区二区 | 成人国产色情免费观看 | 国产探花在线一区二区 | 国产户外一区二区三区在线 | 日产精品一二三四区气温 | 精品视频在线观看一区二区三区 | av无一区二区三区 | 国产午夜精品一区二区三区软件图片在线电视野花日本大全 | 国产精品白浆无码流出在线播放 | 亚洲国产一线二线三线 | 国产成人午夜无码电影在线观看 | 国产互换人妻好紧hd无码 | 丁香五月情 | 亚洲欧洲中文日韩久久AV乱码 | 国产成人黄色视频在线播放 | 成人成码精品久久亚洲 | 国产经典视频第一页在线观看 | 毛茸茸x免费视频hd 毛茸茸的大逼 | 视频一区二区在线观看 | 亚洲精品久久久久久不卡精品小说 | 成年美女黄网站久久 | 亚洲成AV人片在线观看WV | 色视频线观看在线播放 | 91人妻中文字幕 | 91久久综合一区二区三区桃色 | 国产一区二区久久A片免费 国产一区二区久久精品 | 亚洲v无码专区国产观看一区 | 2024在线看日本三级 | 亚洲高清在线观看播放 | 国产精品伦理久久久久久 | av网站在线观看免费的 | 亚洲国片精品 |