日韩欧美人妻无码精品白浆,www.大香蕉久久网,狠狠的日狠狠的操,日本好好热在线观看

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

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

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

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



問題現(xiàn)場

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

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

痛點直擊

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

  • 嵌套的Tags對象如何處理?

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

  • 代碼寫起來又臭又長?


??? 解決方案(直接上代碼?。?/strong>

第一步:安裝Newtonsoft.Json

bash

復制

Install-Package Newtonsoft.Json -Version 13.0.1


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


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

?? 關鍵技巧解析

1?? 動態(tài)解析 vs 強類型解析

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

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

2?? Null值處理

  • JSON中的null會被轉換為JToken類型的null,直接判斷即可,無需擔心空引用異常!

3?? 遍歷嵌套對象

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

4?? 防崩秘籍:安全訪問

  • data.Value<string>("字段名")代替強制轉換,避免字段缺失時報錯:

csharp

復制

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

 擴展應用:強類型解析

適合需要將JSON映射到業(yè)務對象的場景:

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?? 類型轉換錯誤? 用try-catch包裹或先用JToken.Type判斷類型。
3?? 性能優(yōu)化:頻繁解析時,優(yōu)先用JsonConvert.DeserializeObject。

實測結果

運行文中代碼,控制臺輸出:

標簽名:DO1,值:標簽名:AO1,值:標簽名:AD1,值:IP: 192.168.1.3Status: Time outDO1是否為nullTrue

?? 總結

  • 簡單結構JObject動態(tài)解析,5行代碼搞定

  • 復雜場景用強類型解析,維護性更高

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

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


閱讀原文:原文鏈接


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

无码精品国产一区二区免费13| 精品av一期二期三期| 亚洲电影在线| 我要在线看毛片| 亚洲福利网在线| 久久草欧美一区二区| 亚洲 欧美 字幕| 亚洲无码在线人妻| www.亚洲色小姐香蕉| 91人人人深人人人| 又粗又猛又长视频| 少妇久久综合网| 日本中文字幕一二一二三| 欧美日韩一级片免费看| 插臀在线观看| 国产ww.99| 欧美日韩精品A∨一区二区三区电影| 国产图片欧美在线| 自拍偷拍第一区| 麻豆AV影院| 日B动态视频免费| 午夜99精品小电影| 麻豆国产精品久久人妻| 精品 码产区一区二免费视频| 久久天天干天天干| 国产精品黄色麻豆女网站| 日逼好爽想要骚| 久久久在线免费观看播放精品视频| 国产精品剧情一区二区| 国产精品日韩经典中文字幕VIP| 欧美日产久久| 日韩精品久久无码中文字幕,| 中国大香蕉黄色在线视频| 超碰伊人蜜臀| 欧美天精品| 日本在线一区电影影| 97在线一区二区| 国产熟女直播| 另类综合精品| 少妇18p| 欧美成年人一级黄片|