如何将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;}
}
任何帮助/建议高度赞赏。
谢谢。
答
你错过了 “]”
编辑
一种可行的实施是这样的:
你的类
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);
'//这是给error.'不是描述性的。什么错误? – ColinM
@ColinM,加上 –
没有看到你的代码,'res.JsonData =(object)obj;'? – ColinM