json配列をjsonリストに変換できません

アンキット

ここにjson配列データを返すグラフAPIはその詳細です 画像にはjson配列のリストが含まれています

これらのjson配列をrecyclerViewに表示するタスクがあったので、json配列をarraylistに変換しようとしましたが、配列リストが0を返しました。ここで正しい解析に必要な変更の可能性がわかりません。詳細コードです。

                GraphRequest(
                AccessToken.getCurrentAccessToken(), "/me/posts", null,HttpMethod.GET,
                GraphRequest.Callback { response ->
                    Log.e(TAG, response.toString())

                    try {


                        var json: JSONObject = response.jsonObject
                        var jarray: JSONArray = json.getJSONArray("data")

                            mArrayList = ArrayList()



                            for (i in 0 until jarray.length()) {

                               // mArrayList = ArrayList()
                                var mdataa: JSONObject = jarray.getJSONObject(i)

                                if (mdataa == null) {
                                    Toast.makeText(this, " Nothing here", Toast.LENGTH_SHORT).show()
                                }
                                // this part don't have any mistake


                                mMessage = mdataa.getString("message")
                                mId = mdataa.getString("id")
                                mCreatedTime = mdataa.getString("created_time")
                                this.mArrayList?.add(Data(mMessage, mId, mCreatedTime))

                            }




                    } catch (e: JSONException) {

                        e.printStackTrace()
                    }
                    Toast.makeText(this,"total number of values in arraylist" + mArrayList?.size ,Toast.LENGTH_LONG).show() // this toast returning 0 value



                    if (mArrayList == null) {
                        Toast.makeText(this, "U GET Nothing here", Toast.LENGTH_SHORT).show()
                    } else {


                        var main: Intent = Intent(this@Display, DisplayingPost::class.java)

                        main.putParcelableArrayListExtra("data", mArrayList)
                        startActivity(main)


                    }
                }

        ).executeAsync()

更新:これを試しましたが、nullを返していますtry {

                        var jsonResponse:JSONObject= JSONObject(response.toString())
                        var jsonArray:JSONArray=jsonResponse.getJSONArray("data")

                        for (i in 0 until jsonArray.length())
                        {
                            var insidata:JSONObject=jsonArray.getJSONObject(i)
                            var mMessage:String=insidata.getString("message")
                            allMessage?.add(mMessage)
                            var mId:String=insidata.getString("id")
                            allId?.add(mId)
                            var dateofCreation:String=insidata.getString("created_time")
                            allCreatedDate?.add("dateofCreation")

                        }


                    }

                    catch (e: JSONException)
                    {
                        e.printStackTrace()
                    }
                    Toast.makeText(this,"Size here is"+ allId?.size ,Toast.LENGTH_LONG).show()

                }

        ).executeAsync() 

今のところ、try catchブロックを削除し、コードの数行を変更した結果、25のJSONArrayサイズを表示するToastメッセージが表示されましたが、ブロック内の各オブジェクトをフェッチするのに疲れて、「for」以外の値のToastを表示しましたブロックそれはまだnullを返しますここに私の新しいコード行があります。

                           //  try {


                        var jsonResponse:JSONObject=  response.getJSONObject()
                    // JSONObject(response.toString())
                        var jsonArray:JSONArray=jsonResponse.getJSONArray("data")
                  //  Toast.makeText(this,"Size here is"+ jsonArray.length() ,Toast.LENGTH_LONG).show()

                        for (i in 0 until jsonArray.length())
                        {
                            var insidata:JSONObject=jsonArray.getJSONObject(i)
                            if (insidata.has("message")) {
                                var mMessage: String? = insidata.getString("message")
                                allMessage?.add(mMessage as String)
                            }

                            var mId:String=insidata.getString("id")
                            allId?.add(mId)
                            var dateOfCreation:String=insidata.getString("created_time")
                            allCreatedDate?.add(dateOfCreation)

                        }


                  //  }

                 //   catch (e: JSONException)
                  //  {
                    //    e.printStackTrace()
                   // }
                    Toast.makeText(this,"Size here is"+ allMessage?.size ,Toast.LENGTH_LONG).show()

                }

        ).executeAsync()

今のところ、私がしたことは、json配列の最初のオブジェクトを返すforループ内のToastメッセージを暗示しています

               }
                            if (i==0) {
                                Toast.makeText(this, "" + insidata, Toast.LENGTH_LONG).show()
                            }

しかし、私がこれを暗示したとき

          }
                            if (i==0) {
                                Toast.makeText(this, "" + mId, Toast.LENGTH_LONG).show()

私はそれがまだNULLを返している理由を理解していませんplzは私がそれから抜け出すのを助けます}

パイ

このコードを試してください

ArrayList<String> listdata = new ArrayList<String>();     
JSONArray jArray = (JSONArray)jsonObject; 
if (jArray != null) { 
   for (int i=0;i<jArray.length();i++){ 
    listdata.add(jArray.getString(i));
   } 
} 

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

リストを配列に変換できません:ValueError:1つの要素テンソルのみをPythonスカラーに変換できます

分類Dev

Json文字列をMap <String、Object>に変換できません

分類Dev

文字列マップをjsonに変換できません

分類Dev

JSON解析、文字列からオブジェクト、(「JSONオブジェクトをJSON配列に変換できません」)

分類Dev

Json文字列をJavaオブジェクトに変換できません

分類Dev

値をJSON配列に変換できません

分類Dev

Dartオブジェクト-> JSON文字列をJSONに変換できません

分類Dev

JSON文字列のJSON解析では、「オブジェクトをプリミティブ値に変換できません」がスローされます

分類Dev

iOS:Json文字列を配列にすばやく変換できませんか?

分類Dev

JSON文字列をJavascriptオブジェクトに変換できません

分類Dev

Suitescript、nlapiRequestURLは、JSONをURLからオブジェクト/配列に変換できません

分類Dev

文字列をJSONに変換できませんでした

分類Dev

Excelをjson配列に変換するときに日付を解析できません

分類Dev

JSONリストをフラッターの写真のリストに変換できません

分類Dev

dataweaveでjson配列を変換できません

分類Dev

JSON文字列をオブジェクトに変換できませんか?

分類Dev

ScalaでリストをJson配列に変換する方法

分類Dev

null文字列をJSONオブジェクトに変換できません

分類Dev

AndroidではJSON配列をJSONオブジェクトに変換できません

分類Dev

HTTPリクエストからの応答は文字列からJSONに変換できません

分類Dev

JSONをAngular.jsの配列に変換できません

分類Dev

文字列をJSONに変換できません-Android

分類Dev

C#JSONインポート:文字列をバイト配列に変換できませんでした

分類Dev

JSONを文字列に変換できません(PHPとLaravel)

分類Dev

配列データをリストに追加する: System.DirectoryInfo[] を文字列に変換できません

分類Dev

json文字列をjsonオブジェクトに変換できません

分類Dev

ValueError:文字列をfloatに変換できませんでした---文字列のリストのリストをnumpy配列型floatに変換する方法は?

分類Dev

テキストファイルを配列に変換できません

分類Dev

配列をjsonのリストに変換します

Related 関連記事

  1. 1

    リストを配列に変換できません:ValueError:1つの要素テンソルのみをPythonスカラーに変換できます

  2. 2

    Json文字列をMap <String、Object>に変換できません

  3. 3

    文字列マップをjsonに変換できません

  4. 4

    JSON解析、文字列からオブジェクト、(「JSONオブジェクトをJSON配列に変換できません」)

  5. 5

    Json文字列をJavaオブジェクトに変換できません

  6. 6

    値をJSON配列に変換できません

  7. 7

    Dartオブジェクト-> JSON文字列をJSONに変換できません

  8. 8

    JSON文字列のJSON解析では、「オブジェクトをプリミティブ値に変換できません」がスローされます

  9. 9

    iOS:Json文字列を配列にすばやく変換できませんか?

  10. 10

    JSON文字列をJavascriptオブジェクトに変換できません

  11. 11

    Suitescript、nlapiRequestURLは、JSONをURLからオブジェクト/配列に変換できません

  12. 12

    文字列をJSONに変換できませんでした

  13. 13

    Excelをjson配列に変換するときに日付を解析できません

  14. 14

    JSONリストをフラッターの写真のリストに変換できません

  15. 15

    dataweaveでjson配列を変換できません

  16. 16

    JSON文字列をオブジェクトに変換できませんか?

  17. 17

    ScalaでリストをJson配列に変換する方法

  18. 18

    null文字列をJSONオブジェクトに変換できません

  19. 19

    AndroidではJSON配列をJSONオブジェクトに変換できません

  20. 20

    HTTPリクエストからの応答は文字列からJSONに変換できません

  21. 21

    JSONをAngular.jsの配列に変換できません

  22. 22

    文字列をJSONに変換できません-Android

  23. 23

    C#JSONインポート:文字列をバイト配列に変換できませんでした

  24. 24

    JSONを文字列に変換できません(PHPとLaravel)

  25. 25

    配列データをリストに追加する: System.DirectoryInfo[] を文字列に変換できません

  26. 26

    json文字列をjsonオブジェクトに変換できません

  27. 27

    ValueError:文字列をfloatに変換できませんでした---文字列のリストのリストをnumpy配列型floatに変換する方法は?

  28. 28

    テキストファイルを配列に変換できません

  29. 29

    配列をjsonのリストに変換します

ホットタグ

アーカイブ