将对象内容转换为json字符串

时间:2016-12-21 10:45:00

标签: c# json reflection

我使用反射从二进制流反序列化对象(" objType = SM.Backend.Entities.Erp.CodeListBase"):

var methodInfo = typeof(SM.Core.Serializator).GetMethod("DeserializeCache");
var genericMethod = methodInfo.MakeGenericMethod(objType);
var _objItem = genericMethod.Invoke(null, new[] { _streamedData });

有效。如果我在Locals窗口中检查_objItem,它看起来像:_objItem

现在我想将_objItem内容导出到json string:

var jsonString=JsonConvert.SerializeObject(_objItem, Formatting.Indented);

但结果是空的:" []"。如果我为其他对象做同样的事情。 我想对于这个对象它不起作用,因为它是复杂类型(嵌套):

SM.Backend.Entities.Erp.CodeListBase{SM.Backend.Entities.Erp.CodeList<SM.Backend.Entities.Erp.MaterialType>}.

知道如何从本地提取内容到json字符串吗?我应该首先将对象转换为不同的类型吗?

如果我将_objItem更改为iList类型的项目:

SM.Backend.Entities.Erp.CodeList<SM.Backend.Entities.Erp.MaterialType>        
SM.Backend.Entities.Erp.CodeList<SM.Backend.Entities.Erp.ProductDescriptionType>

...

你可以在这里看到: _objItem

结果是相同的&#34; []&#34;。但收集不是空的。

0 个答案:

没有答案