代碼重用的可用性創建類我作爲從嵌套JSON在C#
{ "ResultOne":{ "Value1":2,"Value2":3,"Type":"SimpleAdd","Result":5}}
很少有其他的JSON數據JSON數據來作爲
{ "ResultTwo":{ "Value1":2,"Value2":3,"Type":"SimpleSubtract","Result":-1}}
{ "ResultThree":{ "Value1":2,"Value2":3,"Type":"SimpleMultiply","Result":6}}
等。
所以基本上,內部JSON保持不變,而外部值保持不變。我使用json2csharp.com來生成類(以使事情更簡單)。
public class ResultOne
{
public int Value1 { get; set; }
public int Value2 { get; set; }
public string Type { get; set; }
public int Result { get; set; }
}
public class RootObject
{
public ResultOne ResultOne { get; set; }
}
我怎樣才能在C#創建一個類來在正確的方向重用代碼(而不是創建用於Rootobject每個結果的多個屬性,可以是反射? 任何指針是有幫助的。謝謝。
編輯:。 其實我使用代理來調用服務器,以獲得JSON響應
delegate Task<RootObject> Operation(int Value1, int Value2);
委託是用於通過如下方法變量此操作opMeth將決定O型f我們收到的結果。這將取決於用戶的輸入。所以我不能使用ResultOne,但在下面的方法中需要一個通用的結果。
private async Task<string> DoSomeOp(int Value1, int Value2, Operation opMeth)
{
var opResult = await opMeth(Value1, Value1);
string resultValue = opResult.ResultOne.Result;
return resultValue;
}
你可以把它反序列化到詞典<字符串,ResultClass > –
@SirRufo - 你能舉一個例子。 – superstar
JsonConvert.DeserializeObject>(jsonResultString); –