1
JavaScriptSerializer도 설정자없이 속성을 채울 수 있습니까? 예를 들어, 아래 코드에서 test.ID와 같은 속성.JavaScriptSerializer도 설정자없이 속성을 채울 수 있습니까?
using System;
using System.Collections.Generic;
using System.Web.Script.Serialization;
namespace JavaScriptConverterTest
{
class Program
{
static void Main(string[] args)
{
List<test> list = new List<test>();
for (int i = 0; i < 2; i++)
{
list.Add(new test(Guid.NewGuid(), "Item #" + i));
}
JavaScriptSerializer serializer = new JavaScriptSerializer();
string jsonString = serializer.Serialize(list);
List<test> newList = serializer.Deserialize<List<test>>(jsonString);
Console.Read();
}
}
class test
{
private Guid id = Guid.Empty;
public Guid ID
{
get { return id; }
// Without a setter, JavaScriptSerializer doesn't populate this property.
// set { id = value; }
}
public string name = "";
public test()
{
}
public test(Guid id, string name)
{
this.id = id;
this.name = name;
}
}
}
[무시] StackOverflow에 대한 자세한 내용이 필요합니다.
개인 설정기를 만들면 일부 직렬화가 작동합니다. 다른 serializer를 사용하면 특성을 사용하지 않고 속성을 무시하고 필드에 직접 쓸 수 있습니다. 나는 이것이 어떻게 작동하는지 모른다. –
@JonathanAllen, 알아두면 좋지만 지금은 C# build-serializer (실제로 JSON 일 필요는 없습니다)를 사용하는 솔루션을 찾고 있습니다. – agou
나는 내장 된 것들에 대해 이야기하고 있습니다. 불행히도 Microsoft는 수년 동안 그렇게 많은 사람들을 만들었으므로 나는 내 머리 속에 그들을 따로 둘 수 없습니다. 그래서 제가 제공 할 수있는 가장 좋은 것은 문서에서 찾아야 할 부분입니다. –