2014-04-04 223 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)