2011-09-06 16 views
6

İçinde boşluk bulunan Json dize nesnesine sahip olduğumda, aşağıdaki hatayı alıyorum.Android: Boşluklu Json dize "Sonlandırılmamış nesne" istisnası verir

Java:

String jString = getResources().getString(R.string.event); 
JSONObject object = new JSONObject(jString); 

Json:

<resources> 
    <string name="event"> 
     {"Array":[{"Name":"One"},{"Name":"Two"},{"Name":"Three"}]} 
    </string> 
</resources> 
: Bu herhangi bir sorun yoktur

09-06 22:35:08.214: WARN/System.err(1079): org.json.JSONException: Unterminated object at character 21 of {Array:[{Name:One two three},{Name:Two},{Name:Three}]} 

:

<resources> 
    <string name="event"> 
     {"Array":[{"Name":"One two three"},{"Name":"Two"},{"Name":"Three"}]} 
    </string> 
</resources> 

şu mesajı alıyorum ben

Yanlış bir şey mi alıntı yapıyorum?

DÜZENLEME: Kendi postamdan okuma Hata iletisinin dize nesne değerleri çevresinde herhangi bir tırnak işareti olmadığını fark ettim. Bu yüzden xml dizesindeki "\" ile değiştirdim ve iyi çalıştı. Herhangi bir fikir herhangi bir teklif kaldırmamak nasıl?

+0

boşlukları kaldırın ve bir kez dizi adı kontrol edin bir – Harsha

cevap

7

Kendi postamdan okuma Hata iletisinin dize nesne değerleri çevresinde herhangi bir tırnak işareti olmadığını fark ettim. Bu yüzden xml dizesindeki "\" ile değiştirdim ve iyi çalıştı.

1

Bir CDATA bloğunda sarmayı deneyin. Bu herhangi bir karışıklığı önlemelidir.

<resources> 
    <string name="event"><![CDATA[ 
     {"Array":[{"Name":"One two three"},{"Name":"Two"},{"Name":"Three"}]} 
    ]]></string> 
</resources> 
+1

Hayır, işe yaramadı. –

+0

Çalışmıyor. Okuduktan sonra tırnak yok –