簡體   English   中英

解析Rest API響應

[英]Parse Rest API response

我正在使用一個寧靜的API,該API對服務調用給出以下響應,

[
{
id=123,
 cloudStatusTimestamp=2019-01-21T15:45:06.823,
 cloudStatusCode=null, 
cloudStatusMessage=300: PDF generated successfully,
 cloudStatusComments=Inbound invoice,Reference: 123
}
,{
id=436,
 cloudStatusTimestamp=2019-02-21T05:45:06.423,
 cloudStatusCode=null,
 cloudStatusMessage=300: PDF generated successfully, 
cloudStatusComments=Inbound invoice, Reference: 456
}
]

我想解析以上對Java對象的響應。 我手動嘗試通過replacing '=' by ':'並將鍵和值對括在引號中來將響應轉換為JSON,但由於某些值之間存在','而導致它不起作用,(cloudStatusComments = 入庫發票,參考: 456 )。 請分享您的評論。

JSON格式不正確。 格式應如下所示:

  [
  {
  "id":123,
 "cloudStatusTimestamp":"2019-01-21T15:45:06.823",
 "cloudStatusCode":null, 
"cloudStatusMessage":"300: PDF generated successfully",
 "cloudStatusComments":"Inbound invoice",
 "Reference": 123
},
{
  "id":436,
 "cloudStatusTimestamp":"2019-02-21T05:45:06.423",
 "cloudStatusCode":null,
 "cloudStatusMessage":"300: PDF generated successfully", 
"cloudStatusComments":"Inbound invoice, Reference: 456"
}
]

希望這可以幫助你

您所有json的Fisrt錯誤,應該采用這種格式。

[
{
  "id":123,
  "cloudStatusTimestamp" : "2019-01-21T15:45:06.823",
  "cloudStatusCode":null, 
  "cloudStatusMessage":"300: PDF generated successfully",
  "cloudStatusComments":"Inbound invoice",
  "Reference": 123
}
,{
  "id":436,
  "cloudStatusTimestamp":"2019-02-21T05:45:06.423",
  "cloudStatusCode":null,
  "cloudStatusMessage":"300: PDF generated successfully", 
  "cloudStatusComments":"Inbound invoice",
  "Reference": 456
}
]

現在解析該json,創建以下模型類並獲取您想要的任何字段。

package com.example;

import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;

public class Example {

@SerializedName("id")
@Expose
private Integer id;
@SerializedName("cloudStatusTimestamp")
@Expose
private String cloudStatusTimestamp;
@SerializedName("cloudStatusCode")
@Expose
private Object cloudStatusCode;
@SerializedName("cloudStatusMessage")
@Expose
private String cloudStatusMessage;
@SerializedName("cloudStatusComments")
@Expose
private String cloudStatusComments;
@SerializedName("Reference")
@Expose
private Integer reference;

public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public String getCloudStatusTimestamp() {
return cloudStatusTimestamp;
}

public void setCloudStatusTimestamp(String cloudStatusTimestamp) {
this.cloudStatusTimestamp = cloudStatusTimestamp;
}

public Object getCloudStatusCode() {
return cloudStatusCode;
}

public void setCloudStatusCode(Object cloudStatusCode) {
this.cloudStatusCode = cloudStatusCode;
}

public String getCloudStatusMessage() {
return cloudStatusMessage;
}

public void setCloudStatusMessage(String cloudStatusMessage) {
this.cloudStatusMessage = cloudStatusMessage;
}

public String getCloudStatusComments() {
return cloudStatusComments;
}

public void setCloudStatusComments(String cloudStatusComments) {
this.cloudStatusComments = cloudStatusComments;
}

public Integer getReference() {
return reference;
}

public void setReference(Integer reference) {
this.reference = reference;
}

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM