2015-07-15 9 views
5
public interface UserService { 
    @POST(Constants.Api.URL_REGISTRATION) 
    @FormUrlEncoded 
    BaseWrapper registerUser(@Field("first_name") String firstname, @Field("last_name") String lastname, @Field("regNumber") String phone, @Field("regRole") int role); 


public BaseWrapper registerUser(User user) { 
     return getUserService().registerUser(user.getFirstName(), user.getLastName(), user.getPhone(), user.getRole()); 
    } 

यह अपवाद मदद के लिए

com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $ 

बिग धन्यवाद पैदा करते हैं।

+1

अपने जेसन पोस्ट करें .. – NaveenBharadwaj

+0

आपका जेसन गलत है, इसे सही करें। – Karthik

उत्तर

16

चलो आप जो त्रुटि प्राप्त कर रहे हैं उसे देखते हैं।

उम्मीद BEGIN_OBJECT

आपका JSON एक वस्तु है, और सभी JSON ऑब्जेक्ट घुंघराले ब्रेसिज़ में बंद होते हैं ({})। इसलिए BEGIN_OBJECT है {। और यह कहीं कहीं उम्मीद कर रहा है।

लेकिन STRING

था लेकिन इसके बजाय वह एक स्ट्रिंग "कुछ" पाया। अभी भी हमें नहीं बताता है।

लाइन 1 स्तंभ 1 पथ पर

$

आह, एकदम सही है। लाइन 1 कॉलम पर 1. जेएसओएन की शुरुआत कौन सा है। तो आप पूरी चीज को {} (या कम से कम आप पहले भूल गए हैं, लेकिन मैं शर्त लगाता हूं कि आप उन्हें भूल गए हैं)।

+3

ध्यान दें कि जेएसओएन स्क्वायर ब्रैकेट्स ([]) में भी संलग्न किया जा सकता है, अगर यह एक सरणी – SnyersK

+1

अच्छी स्वरूपण के साथ उत्कृष्ट स्पष्टीकरण है। आपको +1 – OO7

+0

@ OO7 @SnyersK @Astrogat मैं अपने ऐप को क्रैश से कैसे बचा सकता हूं - मुझे एपीआई त्रुटि प्रारूपित करने की कोशिश करते समय यह त्रुटि मिलती है प्रतिक्रिया प्रतिक्रिया (जब मैं 10 सेकंड में 25 बार उदाहरण के लिए गलत अनुरोध करता हूं) ... मुझे पकड़ है (IOException | IllegalStateException ई) 'लेकिन यह मदद नहीं करता है ... – y07k2

संबंधित मुद्दे