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