如何使用嵌套的POST数据在VB.Net中提交POST请求

时间:2014-07-09 17:15:51

标签: .net vb.net rest

我正在使用VB.NET,因为客户端需要一些示例代码来访问我们的REST API。

我知道在PHP中,我可以通过构建一个包含许多数组并将数组(或stdClass)传递给http_build_query()的多维数组来轻松实现这一点,这就像魔术一样:

$request = array (
    'param1' => 'value-1',
    'param2' => array(
        'param3' => 'value-3',
    ),
);
$query = http_build_query($request);

在HTML中,您可以创建如下表单:

<input name="param1" value="value-1">
<input name="param2[param3]" value="value-3">

我能找到的最接近的是VB.Net中的System.Collections.Specialized.NameValueCollection(),但它只允许键值对,你不能拥有包含另一个NameValueCollection的键,因为值只能是字符串。

是否有一个与PHP方法等效的VB.Net,还是在.Net中有更好的方法?我不是一个主要的.Net人,并且花了很多时间进行搜索,但似乎找不到任何类型的示例或解释,除了简单的Key-Value字符串对之外还做了更多的事情。

1 个答案:

答案 0 :(得分:0)

我认为http_build_query在.NET中没有相应的东西。您可能最终必须自己构建自己的查询字符串。

在您的示例中,查询将如下所示

"param1=value-1&param2[param3]=value-3"

您可以始终使用NameValueCollection,但键/值字段将是

"param1","value-1"
"param2[param3]","value-3"