Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Expected BEGIN_OBJECT but was BEGIN_ARRAY #458

Closed
GoogleCodeExporter opened this issue Mar 19, 2015 · 2 comments
Closed

Expected BEGIN_OBJECT but was BEGIN_ARRAY #458

GoogleCodeExporter opened this issue Mar 19, 2015 · 2 comments

Comments

@GoogleCodeExporter
Copy link

I want to convert this string to JSON:

String jsonString = 
"{\"id\":1,\"result\":[{\"activityId\":78398,\"employeeId\":131969,\"id\":270035
3,\"revision\":0,\"wageSpecificationId\":0,\"invoiceId\":0,\"hours\":2,\"javaCla
ss\":\"no.tripletex.tcp.model.Hour\",\"projectId\":1164299,\"companyId\":593187,
\"comment\":\"hei\",\"date\":{\"time\":1.3397112e12,\"javaClass\":\"java.sql.Dat
e\"}},{\"activityId\":78399,\"employeeId\":131969,\"id\":2701989,\"revision\":0,
\"wageSpecificationId\":0,\"invoiceId\":0,\"hours\":5,\"javaClass\":\"no.triplet
ex.tcp.model.Hour\",\"projectId\":1166105,\"companyId\":593187,\"comment\":\"hei
 du\",\"date\":{\"time\":1.3397112e12,\"javaClass\":\"java.sql.Date\"}}]}";

Where do I initzialize the JSONArray. I'm new to this and I didn't understand 
the other threads with the same subject. I understand why it's not running, but 
I don't know what to do about it. My code: 

Gson gson = new Gson();

String jsonString = 
"{\"id\":1,\"result\":[{\"activityId\":78398,\"employeeId\":131969,\"id\":270035
3,\"revision\":0,\"wageSpecificationId\":0,\"invoiceId\":0,\"hours\":2,\"javaCla
ss\":\"no.tripletex.tcp.model.Hour\",\"projectId\":1164299,\"companyId\":593187,
\"comment\":\"hei\",\"date\":{\"time\":1.3397112e12,\"javaClass\":\"java.sql.Dat
e\"}},{\"activityId\":78399,\"employeeId\":131969,\"id\":2701989,\"revision\":0,
\"wageSpecificationId\":0,\"invoiceId\":0,\"hours\":5,\"javaClass\":\"no.triplet
ex.tcp.model.Hour\",\"projectId\":1166105,\"companyId\":593187,\"comment\":\"hei
 du\",\"date\":{\"time\":1.3397112e12,\"javaClass\":\"java.sql.Date\"}}]}";

System.out.println(jsonString);

Debug obj = (Debug) gson.fromJson(jsonString, Debug.class);

System.out.println(obj.getResult());

__________________________________________________________

import com.google.gson.annotations.SerializedName;

    public class Debug {
        @SerializedName("id")
        private String id;
        @SerializedName("method")
        private String method;
        @SerializedName("result")
        private Result result;



        public final String getId() {
            return this.id;
        }

        public final String getMethod() {
            return this.method;
        }


        public final Result getResult() {
            return this.result;
        }
}
______________________________________________________________________

import com.google.gson.annotations.SerializedName;

public class Result {
        @SerializedName("companyId")
        private String companyId;
        @SerializedName("javaClass")
        private String javaClass;
        @SerializedName("activityId")
        private String activityId;
        @SerializedName("projectId")
        private String projectId;
        @SerializedName("employeeId")
        private String employeeId;
        @SerializedName("comment")
        private String comment;
        @SerializedName("revision")
        private String revision;
        @SerializedName("invoiceId")
        private String invoiceId;
        @SerializedName("hours")
        private String hours;
        @SerializedName("wageSpeceficationId")
        private String wageSpeceficationId;
        @SerializedName("id")
        private String id;
        @SerializedName("date")
        private Date date;


        public final String getCompanyId() {
            return companyId;
        }

        public final String getJavaClass() {
            return javaClass;
        }

        public final String getActivityId() {
            return activityId;
        }

        public final String getProjectId() {
            return projectId;
        }

        public final String getEmployeeId() {
            return employeeId;
        }

        public final String getComment() {
            return comment;
        }

        public final String getRevision() {
            return revision;
        }

        public final String getInvoiceId() {
            return invoiceId;
        }

        public final String getHours() {
            return hours;
        }

        public final String getWageSpeceficationId() {
            return wageSpeceficationId;
        }

        public final String getId() {
            return id;
        }

        public final Date getDate() {
            return date;
        }
}

The output: 

Exception in thread "main" com.google.gson.JsonSyntaxException: 
java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at 
line 1 column 19
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:176)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:93)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:172)
    at com.google.gson.Gson.fromJson(Gson.java:791)
    at com.google.gson.Gson.fromJson(Gson.java:757)
    at com.google.gson.Gson.fromJson(Gson.java:706)
    at com.google.gson.Gson.fromJson(Gson.java:678)
    at com.example.tutorial.plugins.Test.main(Test.java:24)
Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was 
BEGIN_ARRAY at line 1 column 19
    at com.google.gson.stream.JsonReader.expect(JsonReader.java:339)
    at com.google.gson.stream.JsonReader.beginObject(JsonReader.java:322)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:165)
    ... 7 more


Thanks!

Original issue reported on code.google.com by matiaspe...@gmail.com on 2 Jul 2012 at 1:29

@GoogleCodeExporter
Copy link
Author

[deleted comment]

@GoogleCodeExporter
Copy link
Author

Not a bug! Please use stackoverflow for "how do I" questions.

Original comment by limpbizkit on 2 Sep 2012 at 9:35

  • Changed state: Invalid

@google google deleted a comment from 880634 Oct 27, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant