2011-05-28 21 views
0

我正在通過發送JSON格式的對象向Web服務發送後調用。我正在使用GSON將我的對象轉換爲JSONJSONStringer以創建鍵值對,以便在post調用中發送到服務器。JSONStringer在Android 2.1中給出null對象(更新)

JSONStringer billString = new JSONStringer().object() 
       .key("details").value(new JSONObject(json)); 
    CustomHttpRequest request = new CustomHttpRequest(WebserviceBaseAddress); 
     request.AddHeader("Accept", "application/json"); 
     request.AddHeader("Content-type", "application/json"); 
     request.AddParam("entity", billString.toString()); 
     request.GetRequest(RequestMethod.POST); 

這行代碼在Android 2.2中正常工作,但2.1,billString爲null。這就是爲什麼我得到空例外(request.AddParam("entity", billString.toString());) 有人可以告訴我這裏有什麼問題嗎? 還是有什麼辦法使鍵值對post撥打GSON,這樣JSONStringer可以被刪除?

感謝 Ashwani

+0

您是否能夠發佈更完整的代碼示例? 「它給零」是什麼意思?對值方法的最終調用是否返回空引用?你是否從該行代碼中獲得了NullPointerException? json輸入的價值是什麼? – 2011-05-29 01:13:48

+0

這裏的billString在Android 2.1中爲null,但在Android 2.2中,它是一個JSON字符串,其細節爲鍵和json對象作爲值。 – 2011-05-29 06:29:41

+0

你能否回答我問的其他問題? – 2011-05-29 06:31:14

回答

1

變化

JSONStringer billString = new JSONStringer().object() 
       .key("details").value(new JSONObject(json)); 

String billString = new JSONStringer().object() 
       .key("details").value(new JSONObject(json)).endObject().toString(); 

的對象語法必須平衡 - 有一個開始和結束。

+0

謝謝布魯斯,它工作:) – 2011-05-30 07:54:19