[英]Can't use JSONObject in Google App Engine (Java) anymore?
半小时前我打开Eclipse编辑一个Google App Engine应用程序,之前一切正常,没有错误,我没有更新任何东西(至少不知情)。
我导入了: com.google.appengine.repackaged.org.json.JSONObject
没有错误,但现在我收到此错误:
use of com.google.appengine.repackaged may result in your app breaking without warning
它从未打破过,它随着Eclipse的Google App Engine下载,为什么它现在突然开始? 我怎么能摆脱它呢? (他们所做的改变非常小而且很快,不必使用不同的JSON库会很好)
AppEngine 1.8.4使用
com.google.appengine.labs.repackaged.org.json.JSONObject
如果你不想从第一原则中弄清楚这一点,这里是一步一步:
不幸的是,这增加了很多警告,但它们似乎确实是无害的。
要摆脱com.google.appengine.repackaged的使用,可能会导致您的应用在没有出现警告的情况下中断。 error simple使用完整的包名声明您的类。 它解决了你的问题。
com.google.appengine.repackaged.com.google.gson.JsonObject jsonObject =
new com.google.appengine.repackaged.com.google.gson.JsonObject();
将我的导入更改为com.google.gson.Gson对我有用。
软件包com.google.appengine.repackaged.com.google.gson已弃用于最新的appengine版本。 因此以下陈述
import com.google.appengine.repackaged.com.google.gson.Gson;
import com.google.appengine.repackaged.com.google.gson.GsonBuilder;
...
Gson gson = new GsonBuilder().create();
你会在appgengine日志中给你以下错误:
java.lang.NoClassDefFoundError: com/google/appengine/repackaged/com/google/gson/JsonElement
您需要使用新的Json库:
1)为gradle文件添加新的依赖项:
compile 'com.google.code.gson:gson:2.8.1'
2)更换
import com.google.appengine.repackaged.com.google.gson.Gson;
import com.google.appengine.repackaged.com.google.gson.GsonBuilder;
同
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.