C# json解析demo

csharp 复制代码
using Newtonsoft.Json;
using System;
using System.Collections.Generic;


namespace ConsoleApp2
{
    public class Program
    {

        public static ResponseModel ReceiveData(string json)
        {
            return JsonConvert.DeserializeObject<ResponseModel>(json);
        }

        static void Main(string[] args)
        {
            string res =
                "{\"ResCode\":0,\"Msg\":\"测量完成\",\"Command\":\"meas&number=20200118&expo=white&blackmura=true\",\"Content\":{\"Min\":{\"Value\":52.1971855,\"Cx\":0.0,\"Cy\":1.0},\"Max\":{\"Value\":368.038177,\"Cx\":0.0,\"Cy\":1.0},\"Average\":\"241.07\",\"Uniform\":\"0.142\",\"BlackMuraData\":{\"Num\":[\"1.1\"],\"Testingtime\":[\"2024-09-18 18:44:13\"],\"BlackMura\":[\"0.0349201045608842\"],\"Pass/Fail\":[\"false\"],\"MaxLuminance\":[\"233.066680908203\"],\"MinLuminance\":[\"213.866683959961\"],\"LuminanceAvg\":[\"223.466682434082\"],\"MaxGradient\":[\"3.88060212135315\"],\"Uniformity\":[\"91.7620155427517\"]}}}";


            try
            {
                ResponseModel result = ReceiveData(res);
                foreach (var item in result.Content.BlackMuraData)
                {
                    Console.WriteLine($"{ item.Key } :{ item.Value.First()} ");
                }

            }
            catch (Exception ex)
            {
                Console.WriteLine($"数据解析失败:{ex.Message}");
            }

        }
    }

    public class ResponseModel
    {
        public int ResCode { get; set; }
        public string Msg { get; set; }
        public ContentModel Content { get; set; }
    }

    public class ContentModel
    {
        public MinModel Min { get; set; }
        public MaxModel Max { get; set; }
        public double Average { get; set; }
        public double Uniform { get; set; }
        public Dictionary<string, List<string>> BlackMuraData { get; set; }
    }

    public class MinModel
    {
        public double Value { get; set; }
        public double Cx { get; set; }
        public double Cy { get; set; }
    }

    public class MaxModel
    {
        public double Value { get; set; }
        public double Cx { get; set; }
        public double Cy { get; set; }
    }


}
相关推荐
林开落L几秒前
从零开始学习Protobuf(C++实战版)
开发语言·c++·学习·protobuffer·结构化数据序列化机制
林开落L3 分钟前
从入门到了解:Protobuf、JSON、XML 核心解析(C++ 示例)
xml·c++·json·protobuffer·结构化数据序列化机制
牛奔5 分钟前
Go 是如何做抢占式调度的?
开发语言·后端·golang
符哥200813 分钟前
C++ 进阶知识点整理
java·开发语言·jvm
小猪咪piggy13 分钟前
【Python】(4) 列表和元组
开发语言·python
難釋懷26 分钟前
Lua脚本解决多条命令原子性问题
开发语言·lua
CoderCodingNo34 分钟前
【GESP】C++ 二级真题解析,[2025年12月]第一题环保能量球
开发语言·c++·算法
独好紫罗兰38 分钟前
对python的再认识-基于数据结构进行-a005-元组-CRUD
开发语言·数据结构·python
chilavert3181 小时前
技术演进中的开发沉思-356:重排序(中)
java·开发语言
devmoon1 小时前
为 Pallet 搭建最小化 Mock Runtime 并编写单元测试环境
开发语言·单元测试·区块链·智能合约·polkadot