我正在从Go调用API,并试图从另一个API调用中推送json字符串数据。
我可以使用像
这样的有效负载手工制作调用payload:= strings.NewReader('[{"value1":333, "value2":444}]'
一切都是幸福的。
我现在正试图将此转换为json字符串{"value1":333, "value2":444}作为字符串类型的输入参数到一个函数,但是当我尝试使用它作为有效载荷时,api正在响应
期望类型:JSONArray,发现:JSONObject
我天真地尝试将函数的输入设置为[]字符串,并将数据附加到数组中作为输入,但然后是字符串。NewReader抱怨它被输入了一个数组。
我不知道如何将json字符串转换为api将满意的json数组。
我试着用[]包围字符串,但是编译器抛出了一个错误的行终止。
一定是在字符串上做了什么错误,用[]包围了{}让函数传递数据,但一定有比这更好的方法。
有什么想法吗,还是我让它变得比它应该更困难?
使用括号是正确的,但实际上需要将字符追加到字符串中。例如:
str := `{"value1":333, "value2":444}`
str = "[" + str + "]"
// [{"value1":333, "value2":444}]
https://play.golang.org/p/rWHCLDCAngd
如果您在字符串或符文字面量之外使用括号,那么它将被解析为Go语言语法。