首页 > 解决方案 > 读取 JSON 时意外结束。路径'',第 1 行,位置 1

问题描述

我正在使用配置系统制作 Minecraft 帐户检查器。(请注意,检查器是用 C# 制作的,我使用 Newtonsoft.json 作为配置系统)。所以,我做了一个 List :

List<string> config = File.ReadAllLines("config.json").ToList();

我用里面的代码做了一个 Parrallel.ForEach :

Parallel.ForEach(config, things =>
        {
            dynamic configJson = JsonConvert.DeserializeObject(things);

            int threads = (int)configJson.threads;
            string proxiesType = (string)configJson.proxiesType;

            Console.WriteLine(threads + " - " + proxiesType);
        });

config.json 文件非常简单:

{
   "threads": 200,
   "proxiesType": "SOCKS5"
}

但是当我运行这个项目时,我得到了这个错误:

Newtonsoft.Json.JsonSerializationException : '读取 JSON 时意外结束。路径'',第 1 行,位置 1。

我只需要帮助,因为我搜索过但没有人解决这个问题。

标签: c#jsonjson.net

解决方案


我不知道你为什么要这样接近它。没有理由使用Parallel.ForEach解析 JSON。

您现在正在做的是将 JSON 文件的每一行拉到列表中,然后尝试解析每一行。

所以它试图解析第 1 行,即{. {不是有效的 JSON 对象。解析失败。

用于File.ReadAllText将整个文件读入单个字符串,然后解析该字符串。不需要任何形式的循环。


推荐阅读