这是一天刮挠我的脑袋&谷歌搜索如何将json字符串转换为对象。
这是我的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
与此同时,我尝试了DeserializeObject<Customer>()
&amp;的排列数量。所有这些事情。
我想要的输出。
{
"statusCode": 200,
"data": {
"items": [
{
"id": 2623,
"JsonData": object
}
MY DTO
public class Res
{
public string StatusCode {get;set;}
public string JsonData {get; set;}
}
任何帮助/建议都非常感谢。
感谢。
答案 0 :(得分:9)
你错过了“]”
修改强>
一种可能的实现方式是:
你的课程
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);
答案 1 :(得分:0)
1 - 添加新班级
2 - 复制你的json
3 - Visual Studio菜单&gt;编辑&gt;选择性粘贴&gt;将JSON粘贴为类