我有一个序列化wcf服务(JSON输出)的问题。 我使用dynamicobject为我的REST服务返回ligth JSON。如何序列化动态对象的列表属性
此代码返回一个空的结果(不可能连载):
public DynamicJsonObject DoWork()
{
dynamic result = new DynamicJsonObject();
result.values = new List<int>() { 1, 2 };
}
但是这个代码工作完美
public DynamicJsonObject DoWork()
{
dynamic result = new DynamicJsonObject();
result.values = 1;
}
我DynamicJsonObject类是:
[Serializable]
public class DynamicJsonObject : DynamicObject, ISerializable
{
private IDictionary<String, Object> Dictionary { get; set; }
public DynamicJsonObject()
{
Dictionary = new Dictionary<String, Object>();
}
public DynamicJsonObject(SerializationInfo info, StreamingContext context)
{
Dictionary = new Dictionary<String, Object>();
}
public override bool TryGetMember(GetMemberBinder binder, out object result)
{
var hasKey = Dictionary.ContainsKey(binder.Name);
result = hasKey ? Dictionary[binder.Name] : null;
return hasKey;
}
public override bool TrySetMember(SetMemberBinder binder, object value)
{
Dictionary[binder.Name] = value;
return true;
}
public void GetObjectData(SerializationInfo info, StreamingContext context)
{
foreach (String key in Dictionary.Keys)
{
info.AddValue(key.ToString(), Dictionary[key]);
}
}
}
所以我就此错误错误324(net :: ERR_EMPTY_RESPONSE)而不是此JSON结果{值:[1,2]}
欢迎来到SO。你有什么问题?你有什么问题? – 2013-05-13 08:22:58
我得到这个错误:Erreur 324(net :: ERR_ EMPTY_RESPONSE) – 2013-05-13 12:09:58