c# - 读取 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。
我只需要帮助,因为我搜索过但没有人解决这个问题。
解决方案
我不知道你为什么要这样接近它。没有理由使用Parallel.ForEach
解析 JSON。
您现在正在做的是将 JSON 文件的每一行拉到列表中,然后尝试解析每一行。
所以它试图解析第 1 行,即{
. {
不是有效的 JSON 对象。解析失败。
用于File.ReadAllText
将整个文件读入单个字符串,然后解析该字符串。不需要任何形式的循环。
推荐阅读
- java - 试图找到回文数
- python - 列出并使用我自己的函数中定义的变量
- yii2 - 将 phpGrid 与 YII2 集成
- java - 杰克逊 - 马歇尔 XML 到 POJO 无法识别的字段错误
- sql - 维度表上的 EndDate - 我们应该使用 NULL 还是 99991231 日期值
- google-cloud-platform - CloudSQL 警告:需要您采取行动来更新您的功能:超出上下文期限
- blazor - 如何在 blazor 中显示对象
- javascript - 如何从 eventListener 更新状态
- javascript - jQuery 中的警报消息导致 jQuery 代码一次又一次地运行
- azure-devops-migration-tools - 在迁移提交链接是“固定”,“删除”但不是“添加”