在C#中,我构建了一个类(为了讨论目的而简化),最终将序列化为一些外部定义的JSON:
{
"$schema": "http://example.com/person.json",
"name": "John",
"age": 86
}
在我的代码中我会有类似的东西:
public class Person
{
public const string $schema= @"http://example.com/person.json";
public string name {get;set; }
public int age {get; set;}
}
...
Person person = new Person();
person.name = "John";
person.age = 88;
JavaScriptSerializer serializer = new JavaScriptSerializer();
string json = serializer.Serialize(person);
在上面的代码中,$ schema导致了一个"意外字符' $'错误。有解决方法吗?
答案 0 :(得分: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;}
}
答案 1 :(得分:5)
如果使用JSON.NET,您可以使用JsonProperty
属性:
public class Person {
[JsonProperty(PropertyName = "$schema")]
public string schema {get; set;} = @"lsjdhflsjkdf";
public string name {get;set;}
}