I am trying to assign a JSON string to OperatorModel[]
but I'm getting MalformedJsonException
.
String
[{\"ProfileId\":\"69c02265-abca-4716-8a2f-ac5d642f876a\",\"DisplayName\":\"baman\",\"IsAvailable\":false,\"Image\":null},{\"ProfileId\":\"1f6bdd5b-c4ea-4566-bc56-ee2f58acece8\",\"DisplayName\":\"nayanthara\",\"IsAvailable\":false,\"Image\":null}]
OperatorModel
public class OperatorModel {
public String ProfileId;
public String DisplayName;
public Boolean IsAvailable;
public String Image;
}
Method
private void displayAllOperators(String AllOperators, String ActiveOperators){
operatorListNew.removeAll(operatorListNew);
Gson gson =new Gson();
OperatorModel[] items = gson.fromJson(AllOperators, OperatorModel[].class);
if (items.length>0){
for (int g=0; g< items.length; g++){
}
}
}
Error Stack
zupportdesk.desk.zupport.chatsystem E/UncaughtException: com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Expected name at line 1 column 3
at com.google.gson.Gson.fromJson(Gson.java:809)
at com.google.gson.Gson.fromJson(Gson.java:761)
at com.google.gson.Gson.fromJson(Gson.java:710)
at com.google.gson.Gson.fromJson(Gson.java:682)
at zupportdesk.desk.zupport.chatsystem.Operators.displayAllOperators(Operators.java:161)
at zupportdesk.desk.zupport.chatsystem.Operators.access$000(Operators.java:69)
at zupportdesk.desk.zupport.chatsystem.Operators$1.onReceive(Operators.java:146)
at android.support.v4.content.LocalBroadcastManager.executePendingBroadcasts(LocalBroadcastManager.java:297)
at android.support.v4.content.LocalBroadcastManager.access$000(LocalBroadcastManager.java:46)
at android.support.v4.content.LocalBroadcastManager$1.handleMessage(LocalBroadcastManager.java:116)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: com.google.gson.stream.MalformedJsonException: Expected name at line 1 column 3
at com.google.gson.stream.JsonReader.syntaxError(JsonReader.java:1310)
at com.google.gson.stream.JsonReader.nextInObject(JsonReader.java:739)
at com.google.gson.stream.JsonReader.peek(JsonReader.java:378)
at com.google.gson.stream.JsonReader.hasNext(JsonReader.java:349)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:166)
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40)
at com.google.gson.internal.bind.ArrayTypeAdapter.read(ArrayTypeAdapter.java:72)
at com.google.gson.Gson.fromJson(Gson.java:795)
at com.google.gson.Gson.fromJson(Gson.java:761)
at com.google.gson.Gson.fromJson(Gson.java:710)
at com.google.gson.Gson.fromJson(Gson.java:682)
at zupportdesk.desk.zupport.chatsystem.Operators.displayAllOperators(Operators.java:161)
at zupportdesk.desk.zupport.chatsystem.Operators.access$000(Operators.java:69)
at zupportdesk.desk.zupport.chatsystem.Operators$1.onReceive(Operators.java:146)
at android.support.v4.content.LocalBroadcastManager.executePendingBroadcasts(LocalBroadcastManager.java:297)
at android.support.v4.content.LocalBroadcastManager.access$000(LocalBroadcastManager.java:46)
at android.support.v4.content.LocalBroadcastManager$1.handleMessage(LocalBroadcastManager.java:116)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)