我想扩展Newtonsoft.Json.JObject类以添加一些方法。 JObject只有getValue()方法,我想扩展getString(),getInt,getDouble,getDate ......,代码如下:
的
的类JSONObject:JObject { JObject jo = new JObject();
public JSONObject(JObject jo)
{
this.jo = jo;
}
public JSONArray GetJSONArray(string key)
{
return (JSONArray)jo.GetValue(key);
}
public string getString(string key)
{
return (string)jo.GetValue(key).ToString();
}
public int getInt(String key)
{
return Convert.ToInt32(getString(key));
}
public long getLong(String key)
{
return Convert.ToInt64(getString(key));
}
public bool getBool(String key)
{
return Convert.ToBoolean(getString(key));
}
public double getDouble(String key)
{
return Convert.ToDouble(getString(key));
}
public DateTime getDateTime(String key,IFormatProvider format)
{
return Convert.ToDateTime(getString(key),format);
}
public DateTime getDateTime(String key)
{
DateTimeFormatInfo dtFormat = new
System.Globalization.DateTimeFormatInfo();
dtFormat.ShortDatePattern = "yyyy/MM/dd HH:mm:ss";
return Convert.ToDateTime(getString(key),dtFormat );
}
}
的
一切正常,除了我使用JObject.parse()方法,因为JObject.parse()返回一个JObject,JObject是JSONObject的父类,它不能转换为JSONObject。所以不能通过我的JSONObject类将字符串解析为JSONObject。我希望我的班级用我自己的方法完全扩展JObject类,任何人都可以给我建议吗?感谢。
答案 0 :(得分:0)
就这样使用它
JObject o = ...;
return o.Value<string>();