Csharp/C#教程:解析Json.NET:“意外的令牌:StartObject”分享


解析Json.NET:“意外的令牌:StartObject”

我正在解析JSON,我收到以下错误:

我正在使用Newtonsoft.Json.NET DLL。

读取字符串出错。 意外的令牌:StartObject。 路径'[0]’,第1行,第2位。

这是我的代码:

public static List GetPluginByCategory(string category) { var wc = new WebClient(); var json = wc.DownloadString("https://api.bukget.org/api2/bukkit/category/" + category); var list = JsonConvert.DeserializeObject<List>(json); return list; } 

category可以是以下字符串之一:

[“管理工具”,“反悲伤工具”,“聊天相关”,“开发者工具”,“经济”,“修复”,“趣味”,“一般”,“信息”,“力学”,“杂项” ,“角色扮演”,“传送”,“网站管理”,“世界编辑与管理”,“世界发电机”

编辑:这是我得到的回应:

  [{"description": "Stop users swearingn", "name": "a5h73y", "plugname": "NoSwear"}, {"description": "Be sure that your server rules are read and accepted!", "name": "acceptdarules", "plugname": "AcceptDaRules"}] 

有谁知道为什么它不起作用? 过去曾经工作过:/。

你的json是一个复杂对象的数组,而不是一个字符串数组。 试试这个(测试):

 WebClient wc = new WebClient(); string json = wc.DownloadString("https://api.bukget.org/api2/bukkit/category/Teleportation"); var items = JsonConvert.DeserializeObject>(json); public class MyItem { public string description; public string name; public string plugname; } 

编辑

上述就是C#学习教程:解析Json.NET:“意外的令牌:StartObject”分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 WebClient wc = new WebClient(); var json = wc.DownloadString("https://api.bukget.org/api2/bukkit/plugin/aboot"); dynamic dynObj = JsonConvert.DeserializeObject(json); Console.WriteLine("{0} {1}", dynObj.plugname,dynObj.link); foreach (var version in dynObj.versions) { var dt = new DateTime(1970, 1, 1).AddSeconds((int)version.date); Console.WriteLine("t{0} {1} {2}",version.version, version.download, dt); } 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/999992.html

(0)
上一篇 2021年12月27日
下一篇 2021年12月27日

精彩推荐