asp.net-mvc - VB.NET 将查询字符串解析为数组

标签 asp.net-mvc vb.net json

我有这个字符串:

1=True&2=150+minutes&3=True&4=True&5=Continuing+to+smoke

我怎样才能把它放到这样的数组或对象中:

[1] => True
[2] => "150 minutes"
etc?

我试过这个:

<HttpPost()>
Function GetQuizScore(ByVal data As String) As JsonResult

    'Debug.Print(data)

    Dim jss = New JavaScriptSerializer

    Dim dict = jss.Deserialize(Of List(Of String))(data)

    Debug.Print(String.Join(", ", dict))

    Return Json(data)

End Function

但是,它给了我一个错误:

Invalid JSON primitive: True&2=150+minutes&3=True&4=True&5=Continuing+to+smoke.

感谢您的帮助。

最佳答案

您拥有的字符串是 QueryString,而不是 JSON 字符串。因此,您可以使用

将其转换为 NameValueCollection。


例子:

Dim s = "1=True&2=150+minutes&3=True&4=True&5=Continuing+to+smoke"

Dim parsed = HttpUtility.ParseQueryString(s)

For Each key In parsed
    Console.WriteLine(key & ": " & parsed(key))
Next

输出:

1: True
2: 150 minutes
3: True
4: True
5: Continuing to smoke

关于asp.net-mvc - VB.NET 将查询字符串解析为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12781829/

相关文章:

vb.net - 为什么不能将 IView(Of SpecificViewModel) 转换为 IView(Of ViewModelBase)?

python - 如何从 Django 中的编码 URL 获取请求参数?

c# - ASP.NET Identity 2 和匿名用户

javascript - 在 jquery asp.net mvc 中选中复选框时更改下拉列表值

c# - 什么是NullReferenceException,如何解决?

mysql - 仅当所选日期等于或大于数据中的日期时,日期之间的查询才会返回结果

python - 如何解析txt中保存的suds对象?

javascript - Ajax - 返回的 json 对象在 ie 中为空

asp.net - 在MVC4中创建自己的VirtualPathProvider?

javascript - 向网格添加新行