我有一个复杂的对象:
{
valueA:'a',
value_array: {
'v': {value:1, value:2},
'v2': {value:1, value:2},
}
}
我如何在get请求中将其作为angular的http服务中的url编码的字符串发送?
结果应该是代表嵌套json对象的查询字符串,类似于此:
api_call?value_list[585588558][sim_type]=existing&value_list[585588558][secondary_sim_type]=new&value_list[587788778][sim_type]=existing
谢谢, 雅伦
答案 0 :(得分:0)
在这种情况下,您根本不应该使用GET,而是尝试使用post。
答案 1 :(得分:0)
您可以将对象转换为字符串,然后将其发送到服务器,然后再次将其转换为对象。示例-
JSON.stringify(objectName)
;
JSON.parse(objectString)
;
答案 2 :(得分:0)
使用angular的HttpUrlEncodingCodec类对URL参数进行编码或解码是一种方法。
答案 3 :(得分:0)
也许有一种方法可以通过angular类实现,但是我设法通过外部npm软件包-'qs'来解决它。 我先安装软件包,然后:
import * as qs from 'qs';
const qsParams = qs.stringify(nestedJSON);