FromJsonはBEGIN_OBJECTを期待しました

ソー

こんにちは、私のJsonパーサーの何が問題になっているのかを見つけるのに問題があります。

こんにちは、オブジェクトの学生がいます(ID、Name、Grade)これが私のドキュメントに学生を書く方法です:public void run(){

        System.out.println("Server get:" + value);
        Gson gson = new Gson();
            System.out.println("this record will be created in the source document");
             String json = gson.toJson(value);
          //   System.out.println(json);

             //2. Convert object to JSON string and save into a file directly
                try (FileWriter writer = new FileWriter(File,true)) {

                    gson.toJson(value, writer);
                    writer.write("\n");
                } catch (IOException e) {
                    e.printStackTrace();
                }
    }

ドキュメントでは、{"SID": "fd36ac24-4487-49aa-bdd0-40535b55d081"、 "Name": "Marie"、 "Major": "IT"}

これは良い学生オブジェクトです。そして今、私はこのファイル情報を再び学生オブジェクトに取得したいと思います。これは私がそれをやろうとする方法です:

    public Student Creation_Two() {
            String fichier ="C:\\Users\\programming\\Personne_source.txt";              
         Student s1 = new Student();        

                    Gson gson = new Gson();
                    System.out.println("we try to parse the document with json to the object");



                    JsonReader reader = new JsonReader(new StringReader(fichier));    
                    reader.setLenient(true);
                    System.out.println("reader value "+reader);                 
                    try
                    {                                                       
                    s1 = gson.fromJson(reader, Student.class);                                      
                    System.out.println(s1 +" s1 have been serialized");
                    return s1;  

                    }
                    catch (IllegalStateException | JsonSyntaxException e1)
                    {
                         System.out.println("error in getting the object");
                         e1.printStackTrace();
                    }
                    return s1;              
    }    

しかし、それは機能しませんでした。エラーが発生しました:BEGIN_OBJECTが必要ですが、1行2列目がSTRINGでした。

こちらが学生クラスです

public class Student {
private static final long serialVersionUID = 1L;
private String SID;
    private String Name;
    private String Major;

public Student(String SID, String Name, String Major)
{
    this.setSID(SID);
    this.setName(Name);
    this.setMajor(Major);
}

public Student() {
    // TODO Auto-generated constructor stub
}

@Override
public String toString() {
    return "Student SID= " + SID + ", Name= " + Name + ", Major= " + Major + "";
}
//all the get set 
cralfaro

これで試してください:

Gson gson = new Gson();
System.out.println("this record will be created in the source document");
String fichier ="C:\\Users\\programming\\Personne_source.txt";
byte[] encoded =Files.readAllBytes(Paths.get(fichier));
System.out.println("JSON: " + new String(encoded, "UTF-8"));
Student s1 = new Student();
try
{
    s1 = gson.fromJson(new String(encoded, "UTF-8"), Student.class);
    System.out.println(s1 +" s1 have been serialized");
}
catch (IllegalStateException | JsonSyntaxException e1)
{
    System.out.println("error in getting the object");
    e1.printStackTrace();
}
System.out.println(s1.toString());

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

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

編集
0

コメントを追加

0

関連記事

分類Dev

Gson:列を期待したがBEGIN_OBJECTました

分類Dev

Retrofitはエラーを出しますBEGIN_OBJECTを期待しましたが、BEGIN_ARRAYでした

分類Dev

BEGIN_OBJECTを期待していましたが、BEGIN_ARRAYkotlinでした

分類Dev

Android Javaはbegin_objectを期待していましたが、begin_arrayでした

分類Dev

Retrofit 2はBEGIN_OBJECTを期待していましたが、BEGIN_ARRAYでした

分類Dev

期待ARRAYをBEGINが、1行目でBEGIN_OBJECTとcolum2ました

分類Dev

GSONが「BEGIN_OBJECTを期待していましたが、BEGIN_ARRAYでした」をスローします

分類Dev

GSONはBEGIN_ARRAYを予期していましたが、BEGIN_OBJECTでした

分類Dev

Android Kotlin RxJavaRetrofit-属性としてリストを持つJsonオブジェクトはBEGIN_ARRAYを期待していましたが、BEGIN_OBJECTでした

分類Dev

kotlinのレトロフィットはbegin_arrayを期待していましたが、1行目はbegin_objectでした

分類Dev

有効な Json は、「BEGIN_OBJECT を期待していましたが、行 1 列 4 で STRING でした」をスローします。

分類Dev

Gson fromJsonがJsonSyntaxExceptionをスローするのはなぜですか:BEGIN_OBJECTが必要ですが、BEGIN_ARRAYでしたか?

分類Dev

Gson は BEGIN_ARRAY を予期していましたが、行 1 列 2 パス $ で BEGIN_OBJECT でした

分類Dev

GSONは「BEGIN_OBJECTが必要ですがBEGIN_ARRAYでした」をスローしますか?

分類Dev

GSONはBegin_objectを予期していましたが、名前はJSONでした

分類Dev

Retrofit 2を使用していますが、BEGIN_OBJECTを期待していましたが、行1、列1のパス$でSTRINGでした。

分類Dev

Gson: STRING を期待していましたが、BEGIN_OBJECT でした - このシナリオをどのように処理しますか?

分類Dev

Android GsonのレトロフィットはBEGIN_OBJECTを想定していましたが、NUMBERでした

分類Dev

GSONは文字列を予期していましたが、行1、列14のパス$ .dChargでBEGIN_OBJECTでした

分類Dev

MoshiはBEGIN_OBJECTを予期しましたが、BEGIN_ARRAYでした-カスタムコンバーターは無視されました

分類Dev

Gson の問題: - BEGIN_OBJECT を予期していましたが、1 行目で BEGIN_ARRAY でした

分類Dev

レトロフィットはBEGIN_ARRAYを想定していましたが、onActivityResultの行1列2パス$でBEGIN_OBJECTでした

分類Dev

JsonSyntaxException - BEGIN_OBJECT が予期されていましたが、BEGIN_ARRAY でした

分類Dev

期待されるBEGIN_ARRAYを取得しましたが、Android(java)でRetrofitを使用してjsonをフェッチしようとすると、1行2列のパス$でBEGIN_OBJECTになりました。

分類Dev

AsyncTaskはBEGIN_OBJECTである必要がありますが、行1列2パス$でBEGIN_ARRAYでした

分類Dev

BEGIN_ARRAYが必要でしたが、BEGIN_OBJECTでした

分類Dev

BEGIN_OBJECTが必要でしたが、BEGIN_ARRAYRetrofitでした

分類Dev

gson.fromJson BEGIN_OBJECTが必要でしたが、オブジェクトの保存方法が原因でBEGIN_ARRAYでした

分類Dev

AndroidでGSONを使用してJSONデータを解析しようとしています:BEGIN_ARRAYが必要でしたが、BEGIN_OBJECTでした

Related 関連記事

  1. 1

    Gson:列を期待したがBEGIN_OBJECTました

  2. 2

    Retrofitはエラーを出しますBEGIN_OBJECTを期待しましたが、BEGIN_ARRAYでした

  3. 3

    BEGIN_OBJECTを期待していましたが、BEGIN_ARRAYkotlinでした

  4. 4

    Android Javaはbegin_objectを期待していましたが、begin_arrayでした

  5. 5

    Retrofit 2はBEGIN_OBJECTを期待していましたが、BEGIN_ARRAYでした

  6. 6

    期待ARRAYをBEGINが、1行目でBEGIN_OBJECTとcolum2ました

  7. 7

    GSONが「BEGIN_OBJECTを期待していましたが、BEGIN_ARRAYでした」をスローします

  8. 8

    GSONはBEGIN_ARRAYを予期していましたが、BEGIN_OBJECTでした

  9. 9

    Android Kotlin RxJavaRetrofit-属性としてリストを持つJsonオブジェクトはBEGIN_ARRAYを期待していましたが、BEGIN_OBJECTでした

  10. 10

    kotlinのレトロフィットはbegin_arrayを期待していましたが、1行目はbegin_objectでした

  11. 11

    有効な Json は、「BEGIN_OBJECT を期待していましたが、行 1 列 4 で STRING でした」をスローします。

  12. 12

    Gson fromJsonがJsonSyntaxExceptionをスローするのはなぜですか:BEGIN_OBJECTが必要ですが、BEGIN_ARRAYでしたか?

  13. 13

    Gson は BEGIN_ARRAY を予期していましたが、行 1 列 2 パス $ で BEGIN_OBJECT でした

  14. 14

    GSONは「BEGIN_OBJECTが必要ですがBEGIN_ARRAYでした」をスローしますか?

  15. 15

    GSONはBegin_objectを予期していましたが、名前はJSONでした

  16. 16

    Retrofit 2を使用していますが、BEGIN_OBJECTを期待していましたが、行1、列1のパス$でSTRINGでした。

  17. 17

    Gson: STRING を期待していましたが、BEGIN_OBJECT でした - このシナリオをどのように処理しますか?

  18. 18

    Android GsonのレトロフィットはBEGIN_OBJECTを想定していましたが、NUMBERでした

  19. 19

    GSONは文字列を予期していましたが、行1、列14のパス$ .dChargでBEGIN_OBJECTでした

  20. 20

    MoshiはBEGIN_OBJECTを予期しましたが、BEGIN_ARRAYでした-カスタムコンバーターは無視されました

  21. 21

    Gson の問題: - BEGIN_OBJECT を予期していましたが、1 行目で BEGIN_ARRAY でした

  22. 22

    レトロフィットはBEGIN_ARRAYを想定していましたが、onActivityResultの行1列2パス$でBEGIN_OBJECTでした

  23. 23

    JsonSyntaxException - BEGIN_OBJECT が予期されていましたが、BEGIN_ARRAY でした

  24. 24

    期待されるBEGIN_ARRAYを取得しましたが、Android(java)でRetrofitを使用してjsonをフェッチしようとすると、1行2列のパス$でBEGIN_OBJECTになりました。

  25. 25

    AsyncTaskはBEGIN_OBJECTである必要がありますが、行1列2パス$でBEGIN_ARRAYでした

  26. 26

    BEGIN_ARRAYが必要でしたが、BEGIN_OBJECTでした

  27. 27

    BEGIN_OBJECTが必要でしたが、BEGIN_ARRAYRetrofitでした

  28. 28

    gson.fromJson BEGIN_OBJECTが必要でしたが、オブジェクトの保存方法が原因でBEGIN_ARRAYでした

  29. 29

    AndroidでGSONを使用してJSONデータを解析しようとしています:BEGIN_ARRAYが必要でしたが、BEGIN_OBJECTでした

ホットタグ

アーカイブ