【发布时间】:2019-01-03 12:21:37
【问题描述】:
将 JSON 转换为字符串(第二种方法)时,我收到错误:
Newtonsoft.Json.JsonReaderException: '解析值时遇到意外字符: [.路径'',第 1 行,位置 1。'
为什么我在第二种方法中遇到错误,但代码在第一种方法中运行良好,是否有针对第二种方法的任何解决方案,因为我只能使用该方法?
代码:
static void Main(string[] args)
{
string abc = "[{\"provider\":\"test\",\"schemes\":[{\"tyo\":\"1\",\"check\":\"99\",\"slotNumber\":\"0\"},{\"tyo\":\"2\",\"check\":\"99\",\"slotNumber\":\"469\"}]}]";
var value = abc.FromJson().ToString();
// Getting error in below line
var value2 = abc.FromJson(typeof(String));
}
// First Method
public static object FromJson(this string json)
{
var value = JsonConvert.DeserializeObject(json);
return value;
}
// Second Method
public static object FromJson(this string json, Type type)
{
var value = JsonConvert.DeserializeObject(json, type);
return value;
}
【问题讨论】:
-
点击here!检查我猜这是你的问题。
-
我不明白您为什么要尝试将 Json 反序列化为字符串,因为它已经是字符串了!你想做什么?
-
您的问题具有误导性。您声称您在“第二种方法”中遇到错误,但您的 cmets 将其标记为“第一种方法”。你只是在调试中被自己的 cmets 弄糊涂了吗?
-
该示例只是一个示例控制台应用程序。我正在做的是我正在尝试使用第二种方法将示例 json abc 转换为字符串,这会引发错误,因为我的字符串包含反斜杠。
-
您的扩展方法毫无意义。他们真正在做的只是让你的代码更难阅读