如何从webAPI返回JSON

时间:2015-06-05 21:38:30

标签: c# asp.net asp.net-web-api

我上课了:

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。

2 个答案:

答案 0 :(得分:2)

您必须首先使用例如RawJsonpublic 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;