我目前正在使用Json.net在我的應用程序中使用json。 我使用的API給我一個特定的字符串格式枚舉例如:Json.net自定義枚舉轉換器
對於TemperatureType
型與價值枚舉fahrenheit, Celcius
JSON的值是: {"result":["TemperatureType_fahrenheit","TemperatureType_Celcius"]}
我會喜歡使用轉換器直接管理它以獲得 和IList<TemperatureType>
,但也適用於其他枚舉類型。
有沒有人有想法?
我已經嘗試使用自定義JsonConverter:
if (reader.TokenType == JsonToken.String && reader.Value != null)
{
string value = reader.Value.ToString();
var splitValues = value.Split('_');
if (splitValues.Length == 2)
{
var type = Type.GetType(splitValues[0]);
return Enum.Parse(type, splitValues[1]);
}
}
的問題是對GetType屬性,因爲我還沒有得到參數指示所需類型和沒有命名空間
1)您的JSON似乎無效。不應該在開頭有'{「'2)這是一個[Howto裝飾JSON.NET StringEnumConverter]的副本(http://stackoverflow.com/questions/22908204/howto-decorate-json-net- stringerum轉換器)? – dbc
它只是我的Json響應的一部分(json包含的值之一) 關於裝飾,我已經看到了線程,但是我不想添加字符串修飾器,以避免開發人員的錯誤 – Tchoupi