我上课了:
public class AObject {
public string RawJson { get; set; }
public decimal Rating { get; set; }
public BObject BObject { get; set; }
}
public class BObject {
public string Id { get; set; }
}
问题是 - 如何将AObject作为有效的JSON对象返回。 AObject.RawJson是一个字符串,其中包含一个序列化到字符串的JSON对象(来自远程API)。
如果我使用默认的序列化方式,web-api会将AObject.RawJson作为字符串返回,而不是作为json-object。
答案 0 :(得分:2)
您必须首先使用例如RawJson
将public class AObject {
// ---> <--- Changed
public object RawJson { get; set; }
// --->^^^^^^<---
public decimal Rating { get; set; }
public BObject BObject { get; set; }
}
public class BObject {
public string Id { get; set; }
}
...
AObject test = new AObject();
test.RawJson = JsonConvert.DeserializeObject(remoteJsonResult);
反序列化为中间对象。 Newtonsoft deserializer:
sudo dnf install python2-devel
如果您再连接一个调试器,您应该看到远程JSON已经转换为一个对象,然后将重新 - 序列化回JSON。
答案 1 :(得分:0)
AObject a = new AObject();
string json = new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(a);
return json;