Json

2016-03-27 27 views
2
'dan Çözülemiyor

this thread ve this thread'a baktım ve hiç şansı olmayan fromJson yöntemini tanımak için android stüdyosu almaya çalışıyorum. Proje yapmamda gson bağımlılığım olarak com.google.code.gson:gson:2.6.2 var. Yani, uzak tüm hala bu çizgi derlemek izin vermeyecektir denedim:Json

Sadece yenileme çeşit her zaman projemi temizlemek için elimden geleni çabayı hiç şansım aşağıdaki ithalatı denedim
LookupRate cuRate = gson.fromJson(gson, LookupRate.class); 

. İthalatlar:

import java.lang.reflect.Type; 
import com.google.gson.JsonObject; 
import com.google.gson.Gson; 
import com.google.gson.GsonBuilder; 
import com.google.gson.stream.JsonReader; 
import com.google.gson.reflect.TypeToken; 

Başka bir şey denemeli miyim? İki parametrenin her birinin google's documentation'a bağlı olması gerektiğine bakıyorum.

Gson değişkeni için bazı bağlamlar, bu şeylerin bir kısmını adlandırdığım gece geç saatlerde olduğunu fark ettim. o kadar gibi atanmış bir try deyimi içinde

StringBuilder gSB = new StringBuilder(); 

: doInBackground() yöntemde ben şöyle bir değişken gSB ilan

connectStat = (HttpURLConnection) params[0].openConnection(); 
InputStream inputer = new BufferedInputStream(connectStat.getInputStream()); 
scanner = new Scanner(inputer); 
while (scanner.hasNext()) gSB.append(scanner.nextLine()); 
Log.v(checkRSP, "Response(" + connectStat.getResponseCode() + "):" + 
       connectStat.getResponseMessage()); 

Tüm istisnalar benim try, catch, finally sonra düzgün sonra işlenir.

String gson = gSB.toString(); 

Sonra fromJson çözülemeyen hat sonraki gelir, ama benim amatör açıklama yol açmış olabileceği herhangi bir karışıklığı ortadan kaldırmak için tekrar edeceksin: Değişken gson şöyle atanır

LookupRate cuRate = gson.fromJson(gson, LookupRate.class); 
+0

çok var Json aşırı yüklenen işlevden ama kimse bir param olarak gson almaz. –

+0

, sözdizimi 'LookupRate cuRate = gson.fromJson (gson, LookupRate.class);' ; 'LookupRate cuRate = gson.fromJson (okuyucu, LookupRate.class); ' – Kathi

+0

gson.fromJson (yourjosnString); , LookupRate.class); –

cevap

2

gson ilk parametresi geçerli değil

Aşırı yüklerden biri, kullanmayı denediğinizde, JSON içeriği içeren bir String alır.

böylece kodu olmalıdır:

//assume your JSON content is stored in variable name `myJsonStr` 
LookupRate cuRate = gson.fromJson(myJsonStr, LookupRate.class); 
sadece size veri almak her yerde myJsonStr formunu doldurmak gerekir

(web hizmeti, veritabanı, yerel dosya, ... vb)

+0

yeniden adlandırın, kodun biraz daha bağlamını eklememe izin verin ve yine de Durum budur. –

+0

@AustinMauldin evet, 1. param için "String" ile birini kullanıyorsunuz – Yazan