2016-02-08 47 views
0

我的代码这个工作线路通行证类型作为参数来newtonsoft JSON反序列化

Public Shared Function JSONArrayToObject(source As String, result As Type) As Object 
    Return JsonConvert.DeserializeObject(Of PAManufacturer())(source) 
End Function 

结果是一种类型的,我想用的GetType(结果)或等效替换PAManufacturer。

我一直没能解决这个问题。我可以有一百个这样的反序列化方法,但我确定我应该能够以某种方式使用结果变量。

回答

1

可以使用泛型函数(其中DeserializeObject是之一)这样的:

Public Shared Function JSONArrayToObject(Of T)(source As String) As T() 
    Return JsonConvert.DeserializeObject(Of T())(source) 
End Function 

在那里你可以把它作为:

Dim arr as PAManufacturer() = JSONArrayToObject(Of PAManufacturer())(someSourceString) 

但如果你到了这个水平,人们不禁要问为什么你使用一个函数,而不是直接让代码调用JsonConvert.DeserializeObject

+0

你已经完成了我的引以为豪的感谢,我删除了记录该方法中各种项目的其他代码,这是根据第二个建议不直接使用代码的唯一原因。感谢您的帮助 – user174634

+0

@ user174634我觉得可能还有比您提出的更多的东西,很高兴它有所帮助! –

相关问题