java - 如何发送数组作为参数来制作向服务器请求的主体?

标签 java android

我必须发送一些参数来制作向服务器请求的正文。 像这样:

"UserName":"a.m",
"CityId":"1",
"UserCategories":
[
  {"CategoryId":"ab2d948a-59d1-420d-a29b-8fd88c2d637c"},
  {"CategoryId":"237b6334-3c1f-44ac-bd87-a8e6be0b2144"}
]

我不知道如何将 UserCategories 作为数组发送。因为它不是字符串,我可以像其他用于制作正文的参数一样发送它。 我应该有这样的 body 来获得回应:

body: {"CityId":"1","UserName":"a.m","UserCategories":[{"UserCategories":"4211f3f4-f506-4458-b96a-0b496515e019"},{"UserCategories":"df7487b3-2043-46ec-97d4-790bfbe83cfc"}]}

但现在我的 body 是:

body: {"CityId":"1","UserName":"a.m","UserCategories":"[{"UserCategories":"4211f3f4-f506-4458-b96a-0b496515e019"},{"UserCategories":"df7487b3-2043-46ec-97d4-790bfbe83cfc"}]"}

我真的很困惑!

最佳答案

当您发送或接收 JSON 数据时,它始终为字符串。我们可能会谈论 JSON 对象或 JSON 数组,但它们实际上是对象和数组的字符串表示。只要将整个内容包含在 {} 中,您就可以完全按照此处编写的方式发送数据。如果您愿意,可以仅发送字符串形式的数组,就像您在此处键入的那样。发送者应从数组创建一个字符串,接收者应将 JSON 字符串解析为数组。有许多库可以帮助您在每种语言中执行此操作。

关于java - 如何发送数组作为参数来制作向服务器请求的主体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46667934/

相关文章:

java - 如何在 java 中等待一组线程 'really' 完成?

java - 调用另一个方法后字符串值null android java

Android SearchSuggestSelection 启用查询以开头而不是包含搜索

java - 我如何将这个 Delphi 函数映射到 JNA

java - GUI计算器按钮问题

Android - 无法打开数据库

java - Android Studio 无法正确显示 xml 文件

android - 无法使用 Gmail 共享 Assets 中的图像

java - 如何在 C 和 Java 中处理 10^100 阶的数字?

java - com.mysql.jdbc.PacketTooBigException 刚连接数据库时