C# json 到数组调试“应用程序进入中断模式”

2023-12-26

我想将 json 转换为数组,但当我尝试调试模式时,我得到“应用程序进入中断模式”,并且如果我尝试运行它,程序就会冻结。

我用的答案是将 json 转换为 C# 数组? https://stackoverflow.com/questions/9586585/convert-json-to-a-c-sharp-array但出了点问题。

你能帮我找出错误的原因吗?

{
public class MarketHistory
{
    public string Date { get; set; }
    public string Order_Count { get; set; }
    public string Volume { get; set; }
    public string Highest { get; set; }
    public string Avarage { get; set; }
    public string Lowest { get; set; }
}

class Program
{
    public static string DownloadString(string address)
    {
        WebClient client = new WebClient();
        string reply = client.DownloadString(address);

        return reply;
    }

    static void Main(string[] args)
    {
        Console.WriteLine("Hello World!");

        string url = "https://esi.tech.ccp.is/latest/markets/10000002/history/?datasource=tranquility&type_id=42";
        var json = DownloadString(url);

        JavaScriptSerializer js = new JavaScriptSerializer();
        MarketHistory[] marketHistories = js.Deserialize<MarketHistory[]>(json);

        Console.ReadKey();
    }
}

}

json:

 [
  {
    "date": "2016-11-01",
    "order_count": 24,
    "volume": 275,
    "highest": 28.17,
    "average": 28.15,
    "lowest": 28
  },

第一个修复:

{
public class MarketHistory
{
    public string date { get; set; }
    public string order_count { get; set; }
    public string volume { get; set; }
    public string highest { get; set; }
    public string avarage { get; set; }
    public string lowest { get; set; }
}

class Program
{
    public static string DownloadString(string address)
    {
        WebClient client = new WebClient();
        string reply = client.DownloadString(address);

        return reply;
    }

    static void Main(string[] args)
    {
        Console.WriteLine("Hello World!");

        string url = "https://esi.tech.ccp.is/latest/markets/10000002/history/?datasource=tranquility&type_id=42";
        var json = DownloadString(url);

        JavaScriptSerializer js = new JavaScriptSerializer();
        MarketHistory[] marketHistories = js.Deserialize<MarketHistory[]>(json);

        Console.ReadKey();
    }
}

}

我添加了参考,知道为什么我可以获得

未处理的异常:System.IO.FileNotFoundException:无法加载文件或程序集“System.Web.Extensions,版本= 4.0.0.0,文化=中性,PublicKeyToken = 31bf3856ad364e35”。该系统找不到指定的文件。 在 Eve_console_app.Program.Main(String[] args)

error?


使用此代码并确保引用System.Runtime.Serialization dll

using System;
using System.Collections.Generic;
using System.Runtime.Serialization.Json;
namespace StackOverFlow
{
    class Program
    {
        static void Main(string[] args)
        {
            var request = System.Net.WebRequest.Create("https://esi.tech.ccp.is/latest/markets/10000002/history/?datasource=tranquility&type_id=42") as System.Net.HttpWebRequest;
            request.Method = "GET";
            request.ContentLength = 0;
            using (var response = request.GetResponse() as System.Net.HttpWebResponse)
            {
                if (response.StatusCode != System.Net.HttpStatusCode.OK)
                {
                    throw new Exception(response.StatusCode + "\t" + response.StatusDescription);
                }

                DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(List<MarketHistory>));
                var result = jsonSerializer.ReadObject(response.GetResponseStream()) as List<MarketHistory>;
            }
            Console.ReadLine();
        }
    }

    public class MarketHistory
    {
        public string date { get; set; }
        public string order_count { get; set; }
        public string volume { get; set; }
        public string highest { get; set; }
        public string average { get; set; }
        public string lowest { get; set; }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# json 到数组调试“应用程序进入中断模式” 的相关文章

  • 按成员序列化

    我已经实现了template
  • jQuery AJAX 请求在 IE8 中失败,并显示消息“错误:调用 open 方法之前无法调用此方法。”

    我正在使用 jQuery 1 4 2 并尝试执行一个简单的 AJAX 请求 目标 URL 返回一个 JSON 字符串 我使用 jslint 对其进行了验证 该请求在 Firefox 和 Chrome 中有效 但不想在 IE8 中工作 我无法
  • 查找c中结构元素的偏移量

    struct a struct b int i float j x struct c int k float l y z 谁能解释一下如何找到偏移量int k这样我们就可以找到地址int i Use offsetof 找到从开始处的偏移量z
  • 字符串数组文本格式化

    我有这个字符串 String text Address 1 Street nr 45 Address 2 Street nr 67 Address 3 Street nr 56 n Phone number 000000000 稍后将被使用
  • 不同枚举类型的范围和可转换性

    在什么条件下可以从一种枚举类型转换为另一种枚举类型 让我们考虑以下代码 include
  • 在 ASP.NET 5 中使用 DI 调用构造函数时解决依赖关系

    Web 上似乎充斥着如何在 ASP NET 5 中使用 DI 的示例 但没有一个示例显示如何调用构造函数并解决依赖关系 以下只是众多案例之一 http social technet microsoft com wiki contents a
  • C++ OpenSSL 导出私钥

    到目前为止 我成功地使用了 SSL 但遇到了令人困惑的障碍 我生成了 RSA 密钥对 之前使用 PEM write bio RSAPrivateKey 来导出它们 然而 手册页声称该格式已经过时 实际上它看起来与通常的 PEM 格式不同 相
  • 带动态元素的 WPF 启动屏幕。如何?

    我是 WPF 新手 我需要一些帮助 我有一个加载缓慢的 WPF 应用程序 因此我显示启动屏幕作为权宜之计 但是 我希望能够在每次运行时更改屏幕 并在文本区域中显示不同的引言 这是一个生产力应用程序 所以我将使用非愚蠢但激励性的引言 当然 如
  • 重载<<的返回值

    include
  • 如何设计以 char* 指针作为类成员变量的类?

    首先我想介绍一下我的情况 我写了一些类 将 char 指针作为私有类成员 而且这个项目有 GUI 所以当单击按钮时 某些函数可能会执行多次 这些类是设计的单班在项目中 但是其中的某些函数可以执行多次 然后我发现我的项目存在内存泄漏 所以我想
  • while 循环中的 scanf

    在这段代码中 scanf只工作一次 我究竟做错了什么 include
  • 什么时候虚拟继承是一个好的设计? [复制]

    这个问题在这里已经有答案了 EDIT3 请务必在回答之前清楚地了解我要问的内容 有 EDIT2 和很多评论 有 或曾经 有很多答案清楚地表明了对问题的误解 我知道这也是我的错 对此感到抱歉 嗨 我查看了有关虚拟继承的问题 class B p
  • 这些作业之间是否存在顺序点?

    以下代码中的两个赋值之间是否存在序列点 f f x 1 1 x 2 不 没有 在这种情况下 标准确实是含糊不清的 如果你想确认这一点 gcc 有这个非常酷的选项 Wsequence point在这种情况下 它会警告您该操作可能未定义
  • Windows 窗体:如果文本太长,请添加新行到标签

    我正在使用 C 有时 从网络服务返回的文本 我在标签中显示 太长 并且会在表单边缘被截断 如果标签不适合表单 是否有一种简单的方法可以在标签中添加换行符 Thanks 如果您将标签设置为autosize 它会随着您输入的任何文本自动增长 为
  • WPF/C# 将自定义对象列表数据绑定到列表框?

    我在将自定义对象列表的数据绑定到ListBox in WPF 这是自定义对象 public class FileItem public string Name get set public string Path get set 这是列表
  • 向现有 TCP 和 UDP 代码添加 SSL 支持?

    这是我的问题 现在我有一个 Linux 服务器应用程序 使用 C gcc 编写 它与 Windows C 客户端应用程序 Visual Studio 9 Qt 4 5 进行通信 是什么very在不完全破坏现有协议的情况下向双方添加 SSL
  • 使用日期 Swift 3 对字典数组进行排序

    我有一个名为 myArray 的数组 其中添加了字典 我希望该字典按时间排序 这是字典中的键 那个时间是在 String 中 时间的日期格式为 yyyy MM dd HH mm ss 我尝试使用下面的代码解决方案 但给出了 从 字符串转换
  • 如何计算 3D 坐标的线性索引,反之亦然?

    如果我有一个点 x y z 如何找到该点的线性索引 i 我的编号方案是 0 0 0 是 0 1 0 0 是 1 0 1 0 是最大 x 维度 另外 如果我有一个线性坐标 i 我如何找到 x y z 我似乎无法在谷歌上找到这个 所有结果都充满
  • C++ 中类级 new 删除运算符的线程安全

    我在我的一门课程中重新实现了新 删除运算符 现在我正在使我的代码成为多线程 并想了解这些运算符是否也需要线程安全 我在某处读到 Visual Studio 中默认的 new delete 运算符是线程安全的 但这对于我的类的自定义 new
  • 使用.NET技术录制屏幕视频[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有没有一种方法可以使用 NET 技术来录制屏幕 无论是桌面还是窗口 我的目标是免费的 我喜欢小型 低

随机推荐