2016-04-13 12 views
1

CodenameOne'ın JSONObject sınıfını kullanıyorum ve bir dizeye dönüştürdüğümde, bunların gerekli olmadığı yerlerde tırnak işaretleri ekliyor görünmektedir.codenameOne JSONObject.toString diziler etrafında tırnak ile hatalı biçimlendirilmiş JSON oluşturma nedir?

Sınıfı doğru kullanıyorum, lütfen bir göz atın ve bana bildirin.

ben göndermek Dizi Listeleri içeren ve daha sonra dizeye dönüştürmek bir HashMap gelen JSON Nesnesi:

ayrıştırma için problemin HashMap ArrayList nesneleri alıntı dize olarak kabul edilir olduğunu
ArrayList categories; 
ArrayList modules; 
// add some String values to the Array Lists 
HashMap<String,Object> activityData = new HashMap<String,Object>; 
activityData.put("categories",categories); 
activityData.put("modules",modules); 
JSONObject json = new JSONObject(activityData); 
//more unrelated code and then... 
String jsonString = json.toString(); 

diğer ucunda Diziler olarak Diziler değil, Kategoriler ve Modüller döndürür.

categories = "[punches, blocks, kicks]" 
: bu nedenle, örneğin, yerine kategorilerden

{"categories":"[punches, blocks, kicks]","modules":"[white_to_yellow, yellow_to_orange]"} 

tek bir karakter dizisine olarak JSON'dan kodu çözülür "zımbalar" 3 elemanları ile bir dizi, "blok", "vuruşlar" olarak yorumlanır

Bu yüzden, sınıfı yanlış kullanıyorum veya bu bir hata mı?

cevap

1

Hangi JSONObject sınıfını kullanıyorsunuz? CN1JSON kitaplığından biri mi?

Benzer bir sorun için Kasım 2015'te bir düzeltme yapıldı. Lib eski bir sürümünü kullanıyor musunuz?

+0

Aynı problemim var. CN kullanarak! kütüphane. – user1622343

+0

Lütfen CN1JSON sorunu izleyicide tekrarlanabilir bir test durumuyla ilgili bir sorun bildirin. Bu SO sorusunda sağlanan örnek, CN1JSON'un en son sürümünde iyi çalışır. –

İlgili konular