我正在使用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字符串对之外还做了更多的事情。
答案 0 :(得分:0)
我认为http_build_query在.NET中没有相应的东西。您可能最终必须自己构建自己的查询字符串。
在您的示例中,查询将如下所示
"param1=value-1¶m2[param3]=value-3"
您可以始终使用NameValueCollection,但键/值字段将是
"param1","value-1"
"param2[param3]","value-3"