如何从这两个类似的Json结果中获得模型:我试过各种方法,但还是想不通。提前感谢。。。
eg : result.ImagePath
1.
{"Success":"True"ImagePath":"D:WyoPHTSImagesPreviewAdminToySoli.jpg"}
"2.
ContentResult作为Json 传递
Content="{"Success":"True"ImagePath":"D:WyoPHTSImagesPreviewAdminToySoli.jpg"}"
Controller's sent data :
ContentResult result = Content("{"Success":"" + vm.Success + ""ImagePath":"" + vm.ImagePath + ""}");
result.ContentType = "application/json"; //-- "application/json" //- "text/plain"
JsonResult jsResult = Json(result, JsonRequestBehavior.AllowGet);
return jsResult; //result
假设您的JSON内容看起来像这个
{
"Success": "True",
"ImagePath": "Images/Preview/Admin/Toy/Soli.jpg"
}
你应该能够像这样阅读
$.getJSON("@Url.Action("ImgPath","Home")",function(data){
alert(data.ImagePath);
});
如果您的Home
控制器中有一个名为ImgPath
的操作方法,它会以上述格式返回JSON,那么这应该会起作用。
这是一个工作样品https://dotnetfiddle.net/jpQb4D
注意:您不应该返回图像的物理路径(D://Wylix….)。您应该返回该图像的相对/绝对url并使用它。
您尝试过使用JSON.NET吗?如果您将其与json2csharp一起使用,那么应该可以继续使用。
使用json2csharp,我得到以下类:
public class RootObject
{
public string Success { get; set; }
public string ImagePath { get; set; }
}
然后,为了从字符串中填充类,你可以做这样的事情:
RootObject rootObject = JsonConvert.DeserializeObject<RootObject>(json);
这有帮助吗?