Java – ‘Unable to parse symbol gson’, it doesn’t allow me to import

‘Unable to parse symbol gson’, it doesn’t allow me to import… here is a solution to the problem.

‘Unable to parse symbol gson’, it doesn’t allow me to import

I’m getting errors about gson(), jsonString, and TypeToken in the following code:

Map<String, Object> jsonMap = new Gson().fromJson(jsonString, new TypeToken<HashMap<String, Object>>() {}.getType());

The practical approach is:
public void sendButton(View v) {
Message myMessage = new Message(username, getTimeAndDate(), getMessage(), chatroomName, Incognito);

    String message = myMessage.messageData();
    Map<String, Object> jsonMap = new Gson().fromJson(jsonString, new TypeToken<HashMap<String, Object>>() {}.getType());
    ref.setValue(myMessage.messageData());

messageData() and jsonString are defined in the following code in my Message class:

public String messageData() {

JSONObject obj1 = new JSONObject();
    JSONObject obj2 = new JSONObject();

  Map<String, JSONObject> mapJSON = new HashMap<String, JSONObject>();
    try {
        obj1.put("Message", chatMessage);
        obj1.put("Username", username);
        obj1.put("isIncognito", Incognito);
        obj2.put(Long.toString(sendTime), obj1.toString());

} catch (JSONException JE) {
        Log.e("Json Crash!!!", "Something went wrong here");
    }
    String jsonString = obj2.toString();

//
     mapJSON.put(chatRoomName, obj2);

return jsonString;
}

Build level of my app:

buildscript {
repositories {
    jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:2.3.3'
    classpath 'com.google.gms:google-services:3.1.0'
    classpath 'com.google.code.gson:gson:2.2.3'
     NOTE: Do not place your application dependencies here; they belong
     in the individual module build.gradle files
}
}

My application’s dependencies are in the following code:

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.android.support:design:25.3.1'
compile 'com.google.firebase:firebase-storage:10.2.0'
compile 'com.google.firebase:firebase-auth:10.2.0'
compile 'com.google.firebase:firebase-core:10.2.0'
compile 'com.google.firebase:firebase-database:10.2.0'
compile 'com.google.android.gms:play-services-ads:10.2.0'
compile files('libs/gson-2.2.4.jar')

testCompile 'junit:junit:4.12'

}
apply plugin: 'com.google.gms.google-service

I

ended up trying to use gson to make my json work, as my json code doesn’t work right now, so please help if you guys have suggestions on this, but I’m also looking for help with importing gson/importing libraries. Thank you!

Sorry, if I

messed up the format, or if this is a duplicate thread, I’m a bit new to Stack Overflow and Publish! Sorry!

Solution

In your activity using Gson, add the following line:

import com.google.gson.Gson;

Also delete the following files that you do not need:

classpath 'com.google.code.gson:gson:2.2.3'

And use the following command instead of the compile file command in your dependencies:

compile 'com.google.code.gson:gson:2.6.2'

Related Problems and Solutions