【发布时间】:2021-10-19 22:46:52
【问题描述】:
不知道如何解释,我搜索了 9 小时,终于需要帮助。
{"session_permit":{ "sessionID":"sessionID", "participantID":0, "timestamp":0, "signature":"somethinglongstring" }}
这是我做的,我不需要“session_permit”。
我需要的是:
{ "sessionID":"sessionID", "participantID":0, "timestamp":0, "signature":"somethinglongstring" }
我删除了 JsonObject 上的“namevaluepairs”数据,但无法删除其中的主名称。我必须将数据类型:JsonObject 发送到服务器,当我通过 JsonObject 发送数据时,总是添加“sessionID”。
我把它放在服务器上发送请求。
interface TalkJoinCredentialsApiInterface
{
@POST("Prod/channel/join/Test")
@Headers("Content-type: application/json",
"Accept: */*")
fun joinCredentialData(
@Body requestData : TalkJoinCredentialsRequestData
) : Call<TalkJoinCredentialsResponseData>
}
class TalkJoinCredentialsRequestData(
var session_permit : JsonObject
)
var jsonObject = JsonObject()
jsonObject.addProperty("sessionID", session_permit.sessionID)
jsonObject.addProperty("participantID", session_permit.participantID)
jsonObject.addProperty("timestamp", session_permit.timestamp)
jsonObject.addProperty("signature", session_permit.signature)
var requestData = TalkJoinCredentialsRequestData(jsonObject)
【问题讨论】:
-
您的问题不清楚。您是使用
session_permit获取对象并尝试访问内部 JSON,还是尝试发送该对象?如果您尝试以您描述的格式发送它,您可能应该将TalkJoinCredentialsRequestData定义为class TalkJoinCredentialsRequestData(val sessionID: String, val participantID: Int, val timestamp: Int, val signature: String),以便按照您期望的方式对其进行序列化。 -
想要使用没有
session_permit的JsonObject。我正在尝试将其发送到服务器。通过拆分参数发送会更好吗? -
见鬼,我的问题是超级白痴,你帮助我这是正确的方法,非常感谢!!!!!!!!!!!!!!! @MrMikimn
-
如果您觉得我的评论对您有帮助,请考虑支持 :)
-
我如何投票评论?!想要给你 10000upvoting !!!我几乎是新帐户,所以会找到如何投票评论等我!
标签: android json kotlin retrofit okhttp