如何将JSON字符串转换为C中的对象#

问题描述:

它一直在抓我的头&如何将json字符串转换为对象。如何将JSON字符串转换为C中的对象#

这是我的json。

{ 
"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\"}"}] 
} 

}

我需要到JsonData转换为单个对象。

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

与它一起,我与permutatiation数试图像DeserializeObject<Customer>() &所有这些事情。

我希望的输出。

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

MY DTO

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

    public string JsonData {get; set;} 
} 

任何帮助/建议高度赞赏。
谢谢。

+0

'//这是给error.'不是描述性的。什么错误? – ColinM

+0

@ColinM,加上 –

+0

没有看到你的代码,'res.JsonData =(object)obj;'? – ColinM

你错过了 “]”

编辑

一种可行的实施是这样的:

你的类

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

添加了该类 –

1 - 添加新的类
2 - 复制您的JSON
3 - Visual Studio的菜单>编辑>粘贴>粘贴JSON作为类

See