You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C# ASP.NET中基于JSON数据实现条件更新逻辑?

JSON响应的条件判断与更新逻辑实现

步骤1:定义匹配JSON结构的实体类

要解析接口返回的JSON,先创建对应的C#类映射字段:

public class BuildingResponse
{
    public string success { get; set; }
    public string Building_rjid { get; set; }
    public List<ParentSite> ParentList { get; set; }
}

public class ParentSite
{
    public string Site_sap_id { get; set; }
    public string Site_GeoCoordinates { get; set; }
    public string Site_priority { get; set; }
    public int BearingAngleFromBuilding { get; set; }
}

步骤2:反序列化JSON响应

在你已有的请求代码基础上,把返回的jsonData反序列化为实体类对象:

try
{
    strInputJSON_BldgRJID = (new JavaScriptSerializer()).Serialize(inputBldgRJID);

    WebClient client = new WebClient();
    client.Headers["Content-type"] = "application/json";
    client.Encoding = Encoding.UTF8;
    jsonData = client.UploadString(apiUrl_CheckBldg, strInputJSON_BldgRJID); // json response
    
    // 反序列化JSON到实体类
    var serializer = new JavaScriptSerializer();
    BuildingResponse response = serializer.Deserialize<BuildingResponse>(jsonData);
}
catch (Exception ex)
{
    // 按需处理异常:网络错误、反序列化失败等
}

步骤3:添加条件判断逻辑

反序列化完成后,检查指定条件是否满足:

// 接上面的代码
if (response != null 
    && string.Equals(response.success, "true", StringComparison.OrdinalIgnoreCase)
    && response.ParentList != null 
    && response.ParentList.Count > 0)
{
    // 满足条件,执行更新逻辑
    ExecuteUpdateLogic(response.ParentList);
}

步骤4:实现具体更新逻辑

编写你需要的更新操作(比如数据库更新、缓存同步等),示例如下:

private void ExecuteUpdateLogic(List<ParentSite> parentSites)
{
    // 遍历站点数据执行更新操作
    foreach (var site in parentSites)
    {
        // 示例:替换为你的实际更新代码(如写入数据库)
        Console.WriteLine($"处理站点:{site.Site_sap_id},优先级:{site.Site_priority}");
    }
    // 若涉及数据库操作,记得提交更改
    // dbContext.SaveChanges();
}

注意事项

  • 示例JSON中success是字符串类型("true"),判断时需用字符串比较;若接口后续改为布尔类型,需将实体类的success字段改为bool类型,判断条件直接用response.success即可。
  • 必须处理response或ParentList为null的情况,避免空引用异常。
  • 异常处理可根据需求扩展,比如添加日志记录、请求重试机制。

内容的提问来源于stack exchange,提问作者Nadeem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 21:44:58