2013-06-20 74 views
-3

我有一個問題,我不能解決幾天。Android應用程序到Web服務器與JSON庫

字符串行輸入 「{」 名 「:」 約翰 「 」業餘愛好「: 」循環「}」 從JSON從PHP服務器

在Android應用程序中的代碼發送

public void testFn() 
{ 
    try { 
     while ((line = reader.readLine()) != null) { 
      String tmp = gson.toJson(line.toString()); 
      JSONObject jobj = (JSONObject)new JSONParser().parse(tmp); 
      sb.append(jobj.get(1).toString() + "\n"); 
     } 
    }catch .... 
} 

我想轉換接收的字符串,並將其轉換爲JSONObject/JSONArray,我可以檢索它或顯示爲TextView作爲字符串格式。但我一直從java.String到JSON.simple.JSONObject越來越CastException的錯誤.. 希望有人能夠告訴我這

+0

沒有評論,沒有迴應。你解決了你的問題嗎? –

+0

我不知道,沒有研究任何有關JSON的問題,你可以在這裏問任何問題?我強烈建議你閱讀http://www.w3schools.com/json/json_syntax.asp。我不認爲你先對JSON有很好的瞭解。因爲數組是在'[]'符號之間聲明的。 –

回答

0

嘗試

String str = "{\"name\":\"John\", \"Hobby\":\"Cycle\"}"; 
//i wrote preceded "\" to very " because it is code format string, 
//not came from internet. You can pass direct response from PHP server 
try { 
    JSONObject json = new JSONObject(str); 
    Log.d("Home",json.getString("name")); 
    Log.d("Home",json.getString("Hobby")); 
} catch (JSONException e1) { 
    e1.printStackTrace(); 
} 
+0

基本上現在我編輯我的代碼在哪裏我的
String line =「{」name「:」John「,」Hobby「:」Cycle「}」;
Object obj = parser.parse(line);
JSONArray array =(JSONArray)obj;
String tmp = array.getString(1); < - 我得到一個CastException – user2504530

+0

@ user2504530,這是一個很明顯的轉換異常,因爲您正在將對象轉換爲數組。閱讀我發表的評論。然後回到你的實現。 –

0
class MyJsonObject{ 
    private String name; 
    private String Hobby; 
    MyJsonObject() { 

    } 
} 

MyJsonObject obj = new MyJsonObject(); 
Gson gson = new Gson(); 
String json = gson.toJson(obj); 

(反序列化)

MyJsonObject obj2 = gson.fromJson(json, MyJsonObject.class); 
0

基本上現在我在這裏編輯我的代碼

String line = "{"name":"John","Hobby":"Cycle"}"; 
Object obj=parser.parse(line); 
JSONArray array=(JSONArray)obj; 
JSONObject obj2 = (JSONObject)array.get(0); 
System.out.println(obj2.get("name").toString()); 

對不起,我想出了一個辦法。

Output: 
John 
相關問題