2012-07-10 83 views
0

我有一個輸出的形式:Android的字符串操作,字符串中的單獨的行

{"status":"07\/09\/201207:16||heythisisatestquestion||AndyesIreallyansweredthisquestiontoo-||07\/09\/201207:10||heythisistestquestion||ThisismyresponsetoyourTESTquestion-yes,Ireallyansweredyou.:-)||07\/09\/201206:29||sos||SOSagain-yes||07\/09\/201206:27||sos||SOSagain-yes||07\/09\/201205:05||test||Yes,respondingtothisTEST-yes,it'sworking","phone":"xxxxxxxxx"} 

我想要做的是,我應該得到每個值由||分離在陣列

例如:

**07\/09\/201207:16 .. 07\/09\/201207:10 .. 07\/09\/201206:29** should be in array date 

**heythisisatestquestion .. heythisistestquestion .. sos** should be in array question 

**AndyesIreallyansweredthisquestiontoo .. ThisismyresponsetoyourTESTquestion .. Ireallyansweredyou** 

應該在陣列的答案,我怎樣才能通過匹配關鍵字||每個值分開。

回答

1

如果你正在使用PHP生成您可以在explode 找到類似功能的JSON使用表達式,然後發送數組或Java中

int count=0; 
     String[] arr; 
     arr=str.split("\\|\\|"); 
     for(int i=0,j=1,k=2;i<str.length;i+=3,j+=3,k+=3) 
    { 

    array1[count]=arr[i]; 
    array2[count]=arr[j]; 
    ..... 
    ..... 
count++; 

    } 
+0

讓它工作,thnx很多:D – ZealDeveloper 2012-07-10 06:05:18

1

首先,您應該解析JSON以獲取狀態字符串。

然後沿着"\\|\\|"分割狀態字符串。即.split("\\|\\|")。而在3

假設狀態文本的格式組挑選出的令牌始終是有效的:

ArrayList<String> date = new ArrayList<String>(); 
ArrayList<String> question = new ArrayList<String>(); 
ArrayList<String> response = new ArrayList<String>(); 

for (int i = 0; i < tokenArray.length/3; i++) { 
    date.add(tokenArray[i * 3]); 
    question.add(tokenArray[i * 3 + 1]); 
    response.add(tokenArray[i * 3 + 2]); 
} 
+0

可以請您給工作示例,對不起,我是新來的Java和Android – ZealDeveloper 2012-07-10 05:41:17

+0

好吧,我使用的分裂和我得到的所有值在數組中,現在怎麼樣應該選擇令牌和a將它們分開放入數組中。 -Thnks快速回復 – ZealDeveloper 2012-07-10 05:48:09