2013-07-22 3 views
0

Я получаю этот простой ответ json, и я не могу легко получить доступ к значению. ОтветСтрока доступа от значения ключа json response

{"email":"[email protected]"} 

Это после осуществления json.toString(). Теперь я пытаюсь получить доступ к значению электронной почты, и я продолжаю получать ошибки. Я думал, что это было просто

json.getString("email") 

Также это в java.

редактировать: вот ошибки я получаю

07-22 06:45:11.524: E/AndroidRuntime(9977): FATAL EXCEPTION: AsyncTask #2 
07-22 06:45:11.524: E/AndroidRuntime(9977): java.lang.RuntimeException: An error occured while executing doInBackground() 
07-22 06:45:11.524: E/AndroidRuntime(9977):  at android.os.AsyncTask$3.done(AsyncTask.java:299) 
07-22 06:45:11.524: E/AndroidRuntime(9977):  at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273) 
07-22 06:45:11.524: E/AndroidRuntime(9977):  at java.util.concurrent.FutureTask.setException(FutureTask.java:124) 
07-22 06:45:11.524: E/AndroidRuntime(9977):  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307) 
07-22 06:45:11.524: E/AndroidRuntime(9977):  at java.util.concurrent.FutureTask.run(FutureTask.java:137) 
07-22 06:45:11.524: E/AndroidRuntime(9977):  at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) 
07-22 06:45:11.524: E/AndroidRuntime(9977):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 
07-22 06:45:11.524: E/AndroidRuntime(9977):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 
07-22 06:45:11.524: E/AndroidRuntime(9977):  at java.lang.Thread.run(Thread.java:856) 
07-22 06:45:11.524: E/AndroidRuntime(9977): Caused by: android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. 
07-22 06:45:11.524: E/AndroidRuntime(9977):  at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:4609) 
07-22 06:45:11.524: E/AndroidRuntime(9977):  at android.view.ViewRootImpl.invalidateChildInParent(ViewRootImpl.java:867) 
07-22 06:45:11.524: E/AndroidRuntime(9977):  at android.view.ViewGroup.invalidateChild(ViewGroup.java:4066) 
07-22 06:45:11.524: E/AndroidRuntime(9977):  at android.view.View.invalidate(View.java:10193) 
07-22 06:45:11.524: E/AndroidRuntime(9977):  at android.widget.TextView.invalidateRegion(TextView.java:4375) 
07-22 06:45:11.524: E/AndroidRuntime(9977):  at android.widget.TextView.invalidateCursor(TextView.java:4318) 
07-22 06:45:11.524: E/AndroidRuntime(9977):  at android.widget.TextView.spanChange(TextView.java:7172) 
07-22 06:45:11.524: E/AndroidRuntime(9977):  at android.widget.TextView$ChangeWatcher.onSpanAdded(TextView.java:8759) 
07-22 06:45:11.524: E/AndroidRuntime(9977):  at android.text.SpannableStringBuilder.sendSpanAdded(SpannableStringBuilder.java:979) 
07-22 06:45:11.524: E/AndroidRuntime(9977):  at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:688) 
07-22 06:45:11.524: E/AndroidRuntime(9977):  at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:588) 
07-22 06:45:11.524: E/AndroidRuntime(9977):  at android.text.Selection.setSelection(Selection.java:76) 
07-22 06:45:11.524: E/AndroidRuntime(9977):  at android.text.Selection.setSelection(Selection.java:87) 
07-22 06:45:11.524: E/AndroidRuntime(9977):  at android.text.method.ArrowKeyMovementMethod.initialize(ArrowKeyMovementMethod.java:302) 
07-22 06:45:11.524: E/AndroidRuntime(9977):  at android.widget.TextView.setText(TextView.java:3535) 
07-22 06:45:11.524: E/AndroidRuntime(9977):  at android.widget.TextView.setText(TextView.java:3405) 
07-22 06:45:11.524: E/AndroidRuntime(9977):  at android.widget.EditText.setText(EditText.java:80) 
07-22 06:45:11.524: E/AndroidRuntime(9977):  at android.widget.TextView.setText(TextView.java:3380) 
07-22 06:45:11.524: E/AndroidRuntime(9977):  at com.reflap.reflap.EditProfile$fillfields.doInBackground(EditProfile.java:61) 
07-22 06:45:11.524: E/AndroidRuntime(9977):  at com.reflap.reflap.EditProfile$fillfields.doInBackground(EditProfile.java:1) 
07-22 06:45:11.524: E/AndroidRuntime(9977):  at android.os.AsyncTask$2.call(AsyncTask.java:287) 
07-22 06:45:11.524: E/AndroidRuntime(9977):  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 
07-22 06:45:11.524: E/AndroidRuntime(9977):  ... 5 more 

Я делаю это в фоновом процессе.

+0

какие ошибки вы получаете? – Harish

+0

Предлагаю вам разместить весь код для десериализации json, а также json text itelf (если только он не состоит только из '{" email ":" [email protected] "}'). Также, если у вас есть трассировка стека, это поможет. – Mena

+0

Текст json - это просто {"email": "[email protected]"} Вот и все. –

ответ

2

Я считаю, что ваша трассировка стеки не вызвана разбором данных в формате JSON, но на самом деле ваш AsyncTask ссылается на пользовательском интерфейсе (некоторые TextView) в методе doInBackground.

Обычно вы ссылаетесь на свои мнения onPostExecute, возможно, через WeakReference s.

+0

ах, да, это возможно. Секундочку. –

+0

Спасибо человеку. Да, это была ошибка. –

+0

@MichaelNana добро пожаловать! – Mena

Смежные вопросы