我有一个像这样的字符串:

var str = "{'data': {'someProperty': 0.00001}}";

当我像这样将其解析为JObject时

var jObject = JObject.Parse(str);

我的jObject看起来像这样:

{"data": {"someProperty": 1E-05}}

我需要摆脱科学的记号,以便最终的JObject看起来像原始的json。

我设法使用更高版本的Newtonsoft.Json做到了这一点:

var serializer = new JsonSerializer { FloatParseHandling = FloatParseHandling.Decimal };
using (System.IO.TextReader tr = new System.IO.StringReader(str)
using (var jsonReader = new JsonTextReader(tr))
{
    var jp = serializer.Deserialize(jsonReader);
    var jObject = JObject.FromObject(jp);
}

但是我需要使用Newtonsoft.Json 3.5版实现相同的结果,该版本没有FloatParseHandling属性。我想我需要以某种方式实现JsonConverter,但是我不知道该怎么做,因为我的真实json比示例中的复杂得多,并且我需要以正确的方式处理所有float值。

因此,使用Newtonsoft 3.5在没有科学的浮点值表示法的情况下获取JObject的正确方法是什么?