2014-04-04 224 views
52

我有这个字符串保存在我的数据库:转换JSON字符串JSON对象C#

str = "{ "context_name": { "lower_bound": "value", "upper_bound": "value", "values": [ "value1", "valueN" ] } }" 

此字符串已经是JSON格式,但我想将其转换成JObject或JSON对象。

JObject json = new JObject(); 

我试了json = (JObject)str;演员,但它没有工作,所以我该怎么做呢?

回答

113

JObject定义方法Parse此:

JObject json = JObject.Parse(str); 

您可能要参考Json.NET documentation

+0

这将转换为{string},将为您的字符串添加额外的花括号。 –

13

这工作

string str = "{ 'context_name': { 'lower_bound': 'value', 'pper_bound': 'value', 'values': [ 'value1', 'valueN' ] } }"; 
    JavaScriptSerializer j = new JavaScriptSerializer(); 
    object a = j.Deserialize(str, typeof(object)); 
+0

错误 - 方法'Deserialize'没有超载需要2个参数... –

7

有才达到的另一个目标是要对JSON强类型类基地,我用前几天第一次翻译; Tradedoubler可JSON一个非常强大的工具,一个有趣的方式结果分为类

是一个简单的工具:复制你的json源代码粘贴并在几秒钟内you will have a strongly typed class json oriented。 以这种方式,您将使用这些功能更强大且简单易用的类。

我希望能帮助你

+0

正是我需要的!所以我不必从javascript – NicolasZ

+0

中创建的东西中定义复杂的类结构,但这不能回答问题。这是一个巨大的节约时间的工具。 –

+0

非常感谢:)我很高兴这个回复是有用的 – makemoney2010

7

,如果你不想要或需要的类型化对象的尝试:

using Newtonsoft.Json; 
// ... 
dynamic json = JsonConvert.DeserializeObject(str); 

,或者尝试一个类型对象的尝试:

Foo json = JsonConvert.DeserializeObject<Foo>(str)