首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >‘无法解析符号Gson’,并且它不允许我导入

‘无法解析符号Gson’,并且它不允许我导入
EN

Stack Overflow用户
提问于 2017-11-30 13:47:31
回答 3查看 21.4K关注 0票数 6

在下面的代码中,我得到了一个关于Gson()jsonStringTypeToken的错误:

代码语言:javascript
运行
复制
Map<String, Object> jsonMap = new Gson().fromJson(jsonString, new TypeToken<HashMap<String, Object>>() {}.getType());

实际方法为: public void sendButton(View v) { Message myMessage =新消息(用户名,getTimeAndDate(),getMessage(),chatroomName,隐名);

代码语言:javascript
运行
复制
    String message = myMessage.messageData();
    Map<String, Object> jsonMap = new Gson().fromJson(jsonString, new TypeToken<HashMap<String, Object>>() {}.getType());
   // ref.setValue(myMessage.messageData());

在我的Message类中,messageData()jsonString在以下代码中定义:

代码语言:javascript
运行
复制
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;
}

我的应用程序的构建gradle:

代码语言:javascript
运行
复制
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
}
}

我的应用程序的依赖项在以下代码中:

代码语言:javascript
运行
复制
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

我最终尝试使用Gson来使我的json工作,因为我的json代码现在不能工作,所以如果你们对此有建议,请帮助,但我也在寻找关于导入Gson/导入库的帮助。谢谢!

抱歉,如果我搞砸了格式,或者如果这是一个重复的线程,我对堆栈溢出和发布有点陌生!抱歉的!

EN

回答 3

Stack Overflow用户

发布于 2017-11-30 13:57:08

在使用Gson的activity中添加以下行:

代码语言:javascript
运行
复制
import com.google.gson.Gson;

同时删除以下你不需要的文件:

代码语言:javascript
运行
复制
classpath 'com.google.code.gson:gson:2.2.3'

在您的依赖中,使用以下命令而不是编译文件命令:

代码语言:javascript
运行
复制
compile 'com.google.code.gson:gson:2.6.2'
票数 13
EN

Stack Overflow用户

发布于 2017-11-30 14:11:23

您将Gson依赖项放在了错误的位置。从项目生成gradle中删除Gson依赖项

代码语言:javascript
运行
复制
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'

代码语言:javascript
运行
复制
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files

}

并将其放入应用程序模块依赖中,如下所示

代码语言:javascript
运行
复制
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
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.0'
compile 'com.android.support:design:25.3.0'
compile 'com.android.support:support-v13:25.3.0'
compile 'com.android.support:support-v4:25.3.0'
compile 'com.android.support:recyclerview-v7:25.3.0'
compile 'com.google.code.gson:gson:2.8.1'
testCompile 'junit:junit:4.12'

}

票数 1
EN

Stack Overflow用户

发布于 2017-11-30 14:16:09

代码语言:javascript
运行
复制
dependencies {
    compile 'com.google.code.gson:gson:2.2.+'
    compile 'com.android.support:support-v4:13.0.+'
    compile 'com.android.support:appcompat-v7:18.0.+'
}

添加这个

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47566665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档