{
"total": 1,
"success": true,
"metaData": { "fields": [ {"name":"presno","type":"string"}, ... ] },
"rows": [{
"presno": "19840491",
"medpresinfo": "[{\"medid\":40491,...}]" // 字符串化的 JSON 數組
}],
"processedTime": 43
}
public class Response {
public int total { get; set; }
public bool success { get; set; }
public MetaData metaData { get; set; }
public List rows { get; set; }
public int processedTime { get; set; }
}
public class MetaData {
public List fields { get; set; }
}
public class Field { public string name; public string type; public string dateFormat; }
public class Row {
public string presno { get; set; }
public int medid { get; set; }
public string medouttime { get; set; }
// ... 其他字段
public string medpresinfo { get; set; } // 保持字符串,二次反序列化
}
var response = JsonConvert.DeserializeObject(jsonString);
foreach (var row in response.rows) {
var medList = JsonConvert.DeserializeObject>(row.medpresinfo);
row.MedInfos = medList; // 假設 Row 類添加此屬性
}
var settings = new JsonSerializerSettings {
NullValueHandling = NullValueHandling.Ignore,
DateFormatString = "yyyy-MM-dd HH:mm:ss.ffffff",
// 自定義日期格式處理 metaData.fields 中的 dateFormat
};
medid 為數字,C# 用 int/long;prestype 為浮點,用 double。DateFormatString 或使用 DateTimeOffset。medpresinfo 是字符串化的 JSON,需二次解析。Newtonsoft.Json 官方文檔:DeserializeObject