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

如何在C# MessageBox中展示HTTP POST请求返回的JSON数据?

解决C# MessageBox展示JSON数组中Name和Amount的问题

问题原因

  • 原代码错误地直接从JSON根节点获取Name和Amount,但这两个字段实际嵌套在values数组的子对象中
  • 冗余代码JsonConvert.DeserializeObject<StreamReader>(responseContent);无意义,应删除

解决方案

通过解析JSON中的values数组,遍历提取每个对象的Name和Amount,拼接成你需要的文本格式后在MessageBox中展示。

实现示例1格式(对齐文本)

using (WebResponse response = request.GetResponse())
using (Stream stream = response.GetResponseStream())
using (StreamReader sr99 = new StreamReader(stream))
{
    string responseContent = sr99.ReadToEnd();
    JObject json = JObject.Parse(responseContent);
    // 提取values数组
    JArray valuesArray = (JArray)json["values"];
    
    StringBuilder resultText = new StringBuilder();
    foreach (JObject item in valuesArray)
    {
        string name = (string)item["Name"];
        string amount = (string)item["Amount"];
        // 用PadRight保证名称列宽度一致,实现对齐
        resultText.AppendLine($"{name.PadRight(6)} :  {amount}");
    }
    
    MessageBox.Show(resultText.ToString());
}

实现示例2格式(文本模拟表格)

using (WebResponse response = request.GetResponse())
using (Stream stream = response.GetResponseStream())
using (StreamReader sr99 = new StreamReader(stream))
{
    string responseContent = sr99.ReadToEnd();
    JObject json = JObject.Parse(responseContent);
    JArray valuesArray = (JArray)json["values"];
    
    StringBuilder resultText = new StringBuilder();
    // 添加表头和分隔线
    resultText.AppendLine("| Name   | Amount |");
    resultText.AppendLine("|--------|--------|");
    
    foreach (JObject item in valuesArray)
    {
        string name = (string)item["Name"];
        string amount = (string)item["Amount"];
        resultText.AppendLine($"| {name.PadRight(5)} | {amount.PadRight(6)} |");
    }
    
    MessageBox.Show(resultText.ToString());
}

额外说明

  • 使用StringBuilder拼接字符串比直接用+更高效,尤其数据量较大时
  • PadRight方法用于固定列宽,让文本展示更整齐
  • 若需要真正的网格控件展示,MessageBox无法实现,可自定义弹窗窗体,添加DataGridView并绑定数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 04:07:25