VB.NET将查询字符串解析为数组 [英] VB.NET Parse Query String to Array

查看:261
本文介绍了VB.NET将查询字符串解析为数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这个字符串:

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

如何将其放入这样的数组或对象中:

How can I get it into an array or object like this:

[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

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

But, it gives me an error that says:

无效的JSON原语: True& 2 = 150 +分钟& 3 = True& 4 = True& 5 =继续+来+抽烟.

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

感谢您的帮助.

推荐答案

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

The string you have is a QueryString, not a JSON string. Thus, you can use

将其转换为NameValueCollection.

to convert it into a 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

这篇关于VB.NET将查询字符串解析为数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆