调用API返回预期的JSONArray,找到JSONObject



我正在从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语言语法。

最新更新