将对象序列化为JToken

时间:2014-02-28 20:44:16

标签: c# .net json.net

我有一个JObject,我想从一个强类型对象设置一个属性。

JObject["ProductionVersion"] = new ProductionVersion();

为此,需要将ProductVersion转换为JToken。如何在不必将对象序列化和反序列化为JObject的情况下执行此操作?

JObject["ProductVersion"] = JsonConvert.DeserializeObject<JObject>(JsonConvert.SerializeObject(message.ProductVersion))

2 个答案:

答案 0 :(得分:25)

你的问题有点令人困惑......

  1. 所以你有一个JObject而你想要一个JToken? 好吧,JObject JToken。在这里查看继承层次结构:JObject class
  2. 如果您的意思是“我有一个可序列化的对象,我想将其转换为JToken而无需再次序列化和反序列化”,那么请使用此JToken.FromObject(obj)

答案 1 :(得分:1)

您可以通过Properties上的JObject来访问这些媒体资源。

当您需要添加属性时,只需使用JProperty构造函数添加它。

请参阅JSON.NET documentation