diff --git a/src/LitJson/JsonMapper.cs b/src/LitJson/JsonMapper.cs index 38d68a7..4811872 100644 --- a/src/LitJson/JsonMapper.cs +++ b/src/LitJson/JsonMapper.cs @@ -438,11 +438,16 @@ private static object ReadValue (Type inst_type, JsonReader reader) PropertyInfo p_info = (PropertyInfo) prop_data.Info; - if (p_info.CanWrite) - p_info.SetValue ( - instance, - ReadValue (prop_data.Type, reader), - null); + if (p_info.CanWrite){ + //p_info.SetValue( + // instance, + // ReadValue(prop_data.Type, reader), + // null); + //use the getSetMethod.invoke instead of SetValue is to suport more platform + // such as mono run in ios,jit is forbidden,so the p_info.setValue cannot be used + p_info.GetSetMethod().Invoke(instance, new object[] { ReadValue(prop_data.Type, reader) }); + } + else ReadValue (prop_data.Type, reader); }