2017-02-20 10 views
0

jsonの文字列をオブジェクトに変換する方法についてグーグルでグーグルグーグルで私の頭を傷つけている日です。jsonの文字列をC言語のオブジェクトに変換する方法

これは私のjsonです。私は、単一のオブジェクトにJsonDataを変換する必要がでています

{ 
"statusCode": 200, 
"data": { 
"items": [ 
    { 
    "id": 2623, 
    "JsonData": "{\"Number\":143,\"IsDeleted\":false,\"GapAnalysisChecked\":false,\"ShowGraphics\":true,\"Impact\":{\"Value\":\"DefaultNodeTitle_Impact\",\"Details\":null,\"DefaultValue\":\"DefaultNodeTitle_Impact\",\"Id\":\"0a507b25-cf0f-4ee3-8262-76b29adbda4e\"},\"Gap\":{\"Value\":\"DefaultNodeTitle_Gap\",\"Details\":null,\"DefaultValue\":\"DefaultNodeTitle_Gap\",\"Id\":\"cd411a47-a215-4dda-a8af-19686ad0d090\"}"}] 
} 

}

。それとともに

var obj = JsonConvert.DeserializeObject(res.JsonData); 
res.JsonData = obj; //this is giving error.- Cannot convert implicilty string to an object 

、私はDeserializeObject<Customer>() &のようなpermutatiationの数とそのようなすべてのものを試してみました。

希望の出力。

{ 
"statusCode": 200, 
"data": { 
"items": [ 
    { 
    "id": 2623, 
    "JsonData": object 
} 

MY DTO

public class Res 
{ 
    public string StatusCode {get;set;} 

    public string JsonData {get; set;} 
} 

高く評価すべてのヘルプ/提案。
ありがとうございます。あなたは "]" 行方不明

+0

'//としてJSONを貼り付け記述的ではありません..どのようなエラー? – ColinM

+0

@ColinM、addded –

+0

あなたのコードを見ずに、 'res.JsonData =(object)obj;'? – ColinM

答えて

9

EDIT

1つの可能な実装は、このようなものになるだろう:

あなたのクラス

public class Res{ 

    public string statusCode {get;set;} 
    public Data data {get; set;} 


} 


public class Data{ 

    public List<Item> items {get; set;} 

    } 


public class Item{ 

    public string id {get; set;} 
    public JsonData JsonData {get;set;} 

} 

public class JsonData{ 

    public string name {get; set;} 
    public string from {get; set;} 
} 

あなたのJSON

{ 
"statusCode":200, 
"data" : 
    { 
     "items" : 
      [ 
      { 
       "id":2623, 
       "JsonData" :{ 
       "name":"joab", 
       "from":"Brazil"} 
       }, 
       { 
       "id":2624, 
       "JsonData": { 
       "name":"mary", 
       "from":"USA" 
       } 
      } 
      ] 
    } 
} 

var res = new JavaScriptSerializer().Deserialize<Res>(yourjson); 
+0

jsonの文字列を修正しました –

+0

あなたもクラスを見せてください。 – joab

+0

クラスを追加しました –

0

1から
2新しいクラスを追加 - あなたのJSON
3コピー - Visual Studioのメニュー>編集>貼り付け>これはerror.`を与えているクラス

See

関連する問題