在C#中,我正在构建一个类(此处为了讨论目的而简化),最终将序列化为一些外部定义的JSON:
{
"$schema": "http://example.com/person.json",
"name": "John",
"age": 86
}
Run Code Online (Sandbox Code Playgroud)
在我的代码中我会有类似的东西:
public class Person
{
public const string $schema= @"http://example.com/person.json";
public string name {get;set; }
public int age {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
...
Person person = new Person();
person.name = "John";
person.age = 88;
JavaScriptSerializer serializer = new JavaScriptSerializer();
string json = serializer.Serialize(person);
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,$ schema导致出现"意外字符'$'错误.是否有解决方法?
jac*_*cob 12
为[DataContract]您的Person类提供属性.
还有,你的意思是schema const?
[DataContract]
public class Person
{
[DataMember(Name = "$schema")]
public string schema { get; set; }
public string name { get; set; }
public int age {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
如果使用JSON.NET,您可以使用以下JsonProperty属性:
public class Person {
[JsonProperty(PropertyName = "$schema")]
public string schema {get; set;} = @"lsjdhflsjkdf";
public string name {get;set;}
}
Run Code Online (Sandbox Code Playgroud)