मैंने पढ़ा है और JSON स्ट्रिंग जो एक सरणी के रूप में शुरू होता है पार्स करने के लिए कोशिश कर रहा हूँ (जैसे [{test: "test"}]
) और मैं त्रुटि में प्रदर्शन जारी रहे:
Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path $
इस लाइन के लिए मेरी लॉग अंक में त्रुटि:
Gson gson = new GsonBuilder().create();
PayoutCharges payoutList = gson.fromJson(reader, PayoutCharges.class);
कुछ stackoverflow जवाब के बाद, मैं PayoutCharge की एक सरणी सूची के रूप में PayoutCharges वर्ग बनाया। मैं इस समस्या को कैसे ठीक करूं ताकि जीएसओएन जानता है कि JSON स्ट्रिंग सरणी के अंदर है?
PayoutCharges.java
package com.app.driver.entity;
import java.util.ArrayList;
import com.google.gson.annotations.SerializedName;
public class PayoutCharges {
//handle error
@SerializedName("error")
private Error mError;
public Error getError() {
return mError;
}
public void setError(Error error) {
mError = error;
}
//handle data
@SerializedName("payoutCharges")
private ArrayList<PayoutCharge> mPayoutCharges;
public ArrayList<PayoutCharge> getPayoutCharges() {
return mPayoutCharges;
}
public void setPayoutCharges(ArrayList<PayoutCharge> payoutCharges) {
mPayoutCharges = payoutCharges;
}
}
पढ़ने @ Ridcully की प्रतिक्रिया के बाद, मैं अगर वहाँ मुझे PayoutCharges.java
अद्यतन करने के लिए तो यह जानता है कि कि JSON एक सरणी है के लिए एक तरीका है पूछना चाहता हूँ। @SerializedName([])
की तरह कुछ?
ट्यूनर आपने अपना दिन बचाया। समाधान – PPD
के लिए धन्यवाद आसान लेकिन महान उदाहरण, यह मेरी समस्या को हल करता है !, धन्यवाद – RoDo
धन्यवाद यह काम कर रहा है –