无法使用ServiceStack序列化程序反序列化简单Json
由于某些原因,此代码不起作用。 我错过了什么?它是一个简单的类,Json非常基本无法使用ServiceStack序列化程序反序列化简单Json,json,serialization,
servicestack,Json,Serialization,
servicestack,由于某些原因,此代码不起作用。 我错过了什么?它是一个简单的类,Json非常基本 using System; using ServiceStack.Text; namespace Test { public class Boo { public string id { get; set; } public string name { get; set; } public override string ToString () { retur
using System;
using ServiceStack.Text;
namespace Test
{
public class Boo
{
public string id { get; set; }
public string name { get; set; }
public override string ToString ()
{
return string.Format ("[Boo: id={0}, name={1}]", id, name);
}
}
class MainClass
{
public static void Main (string[] args)
{
Console.WriteLine ("{name: \"Superman\", id: 1}".FromJson<Boo>());
}
}
}
使用系统;
使用ServiceStack.Text;
名称空间测试
{
公共类Boo
{
公共字符串id{get;set;}
公共字符串名称{get;set;}
公共重写字符串ToString()
{
返回string.Format(“[Boo:id={0},name={1}]”,id,name);
}
}
类主类
{
公共静态void Main(字符串[]args)
{
Console.WriteLine({name:\'Superman\',id:1}.FromJson());
}
}
}
您的键不是字符串。ServiceStack的序列化程序希望JSON的键是有效的JSON字符串
试试这个:
Console.WriteLine ("{\"name\":\"Superman\",\"id\":1}".FromJson<Boo>());
Console.WriteLine(“{\'name\':\'Superman\',\'id\':1}”)。FromJson();
不确定间距是否重要,但我尽量保持紧凑。FYI,我在mono下运行此功能。是的,规范要求键为带引号的字符串。JavaScript对象文本不强制使用引号,这就是为什么它经常与有效的JSON混淆的原因,而有效的JSON确实如此。