【问题标题】:How can I delete JsonObject's main(root node's) name如何删除 Json 对象主(根节点)名称
【发布时间】: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


【解决方案1】:

您可能应该将 TalkJoinCredentialsRequestData 定义为

class TalkJoinCredentialsRequestData(val sessionID: String, val participantID: Int, val timestamp: Int, val signature: String)

所以它会按照您期望的方式进行序列化。

【讨论】:

    【解决方案2】:

    你可以这样做:

    var newJson = json.session_permit
    

    【讨论】:

    • 不知道这是干什么用的。那是为了新的 JsonObject 吗???
    猜你喜欢
    • 2012-12-24
    • 1970-01-01
    • 2011-10-07
    • 1970-01-01
    • 1970-01-01
    • 2019-12-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多