【问题标题】:Getting Models back in Json- parsing让模型回到 Json 解析中
【发布时间】:2014-08-29 14:15:31
【问题描述】:

如何从这两个相似的 Json 结果中获取模型: 我尝试了各种方法,但仍然无法弄清楚。 提前谢谢...

eg : result.ImagePath

1.

{"Success":"True"ImagePath":"D:\Wyo\PH\TS\Images\Preview\Admin\Toy\Soli.jpg"}

"2.

ContentResult 作为 Json 传递

Content="{"Success":"True"ImagePath":"D:\Wyo\PH\TS\Images\Preview\Admin\Toy\Soli.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 转换为类对象吗?
  • 只想从这个响应中获取 ImagePath (json)
  • 对于频繁使用 json 的用户来说应该很容易,而不是在这里寻找 binding , ko 之类的东西,这里的两个属性都是简单的字符串,作为 json 传递。
  • 如果有点奇怪那是为了学习过程。如何使其工作,不想更改结构,如果没有任何格式错误帮助我进行转换。谢谢

标签: asp.net-mvc json asp.net-mvc-5 json.net


【解决方案1】:

假设您的 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 示例,知道怎么做我处理它以获取发布的信息?简单的 $.parseJSON 在这里不起作用。
  • 当控制器可以返回正确的 JSON 时,为什么要从控制器返回字符串?
  • 我有json所以不想再得到它,只是想玩一下结果,让我在控制器中发布示例代码,如果json的格式有误,或者你知道一种更好的方法来从中获取数据让我知道...
  • 它是正确的Json,但我无法在这个例子中转换它,不知道哪里错了,控制器中的属性是字符串,我想知道在javascript中。我的解析机制或发送数据的格式可能是错误的。所以我在这里要求一个正确的解析策略,等一下,让我在控制器中 aff 格式化字符串
  • 添加了更多信息和发布的数据
【解决方案2】:

您是否尝试过使用 JSON.NET?如果你将它与 json2csharp 一起使用,你应该很高兴。

使用 json2csharp 我得到以下类:

public class RootObject
{
    public string Success { get; set; }
    public string ImagePath { get; set; }
}

然后要从字符串中填充类,您可以执行以下操作:

RootObject rootObject = JsonConvert.DeserializeObject<RootObject>(json);

这有帮助吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-04
    • 2019-12-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-16
    • 1970-01-01
    相关资源
    最近更新 更多