附加要在MVC应用程序中由视图使用的JSON数据

时间:2017-03-31 18:00:15

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

我有一个非常简单的应用程序,我用来学习关于MVC的动作。在该应用程序中,我搜索一些数据并返回一个我想用作视图模型的JSON字符串。我似乎无法弄清楚如何让视图使用JSON作为一组数据,以便在屏幕上显示。

到目前为止我的代码:

Function Find(term As String) As ActionResult

    Dim model As String = SearchData(term)

    Return View(model)
End Function

SearchData返回一个JSON字符串,其中可以包含一个或多个对象。

我现在如何从SearchData返回JSON并在视图中使用它?事实上,当我尝试添加视图时,它想知道要使用的模型。我怎么具体呢?

1 个答案:

答案 0 :(得分:1)

创建强类型对象以在解析时存储数据

Public Class Data
    Public Property ID As Integer
    Public Property Term As String
    Public Property SomeProperty As String
    Public Property SomeOtherProperty As String
End Class

使用像JSON.Net这样的库,解析从搜索返回的JSON。

这假定从搜索中返回了一组数据。

Imports Newtonsoft.Json;

Function Find(term As String) As ActionResult    
    Dim json As String = SearchData(term)
    Dim model As List(Of Data) = JsonConvert.DeserializeObject(Of List(Of Data))(json)
    Return View(model)
End Function

让视图知道期望强类型模型。

@ModelType List(Of Data)
@Code
    ViewData("Title") = "Find"
End Code

<h2>MyView</h2>
<!-- rest of view where model can be accessed -->