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; }
    }


}
相关推荐
FQNmxDG4S2 小时前
Java多线程编程:Thread与Runnable的并发控制
java·开发语言
前端老石人3 小时前
HTML 字符引用完全指南
开发语言·前端·html
matlab_xiaowang3 小时前
Redux 入门:JavaScript 可预测状态管理库
开发语言·javascript·其他·ecmascript
虹科网络安全3 小时前
艾体宝干货|数据复制详解:类型、原理与适用场景
java·开发语言·数据库
axng pmje4 小时前
Java语法进阶
java·开发语言·jvm
老前端的功夫4 小时前
【Java从入门到入土】28:Stream API:告别for循环的新时代
java·开发语言·python
qq_435287924 小时前
第9章 夸父逐日与后羿射日:死循环与进程终止?十个太阳同时值班的并行冲突
java·开发语言·git·死循环·进程终止·并行冲突·夸父逐日
止语Lab4 小时前
从手动到框架:Go DI 演进的三个拐点
开发语言·后端·golang
yaoxin5211234 小时前
397. Java 文件操作基础 - 创建常规文件与临时文件
java·开发语言·python
小短腿的代码世界4 小时前
Qt日志系统深度解析:从qDebug到企业级日志框架
开发语言·qt