`
ch_kexin
  • 浏览: 897587 次
  • 性别: Icon_minigender_2
  • 来自: 青岛
社区版块
存档分类
最新评论

android中使用net.sf.json

 
阅读更多

android中自带的json使用起来不是很方便,想使用net.sf.json,结果运行的时候又发现有异常:java.lang.VerifyError: net/sf/json/JSONObject

经过各种搜索,发现原来是我们使用的json-lib-2.4-jdk15.jar包要引用其他的几个jar包,这就表示想使用net.sf.json还不能只是简单的加一个jar包

参考官网配置:http://json-lib.sourceforge.net/index.html

所有需要的jar包如下

commons-beanutils-1.8.0.jar

commons-collections-3.2.1.jar

commons-lang-2.5.jar

commons-logging-1.1.1.jar

ezmorph-1.0.6.jar

json-lib-2.4-jdk15.jar

 

配好以上jar包后还不够,编译的时候会报冲突错误:multiple dex files define Lorg/apache/commons/collections/Buffer

发现commons-beanutils-1.8.0.jar包中有和commons-collections-3.2.1.jar冲突的类,但是本人又想使用commons-collections-3.2.1.jar包

方法一(简单粗暴):直接把commons-beanutils-1.8.0.jar中的org/apache/commons/collections目录和目录下的class直接删掉(用解压缩工具打开,直接删除操作),这样再编译就不会报错了

方法二:

首先修改Gradle配置文件,启用MultiDex并包含MultiDex支持:

defaultConfig {
        multiDexEnabled true
   }
dependencies { compile 'com.android.support:multidex:1.0.1' } 

 (我到这一步就好用了,但是要是还不行就得继续)

然后让应用支持多DEX文件。在MultiDexApplication JavaDoc中描述了三种可选方法:

1、在AndroidManifest.xml的application中声明android.support.multidex.MultiDexApplication;
2、如果你已经有自己的Application类,让其继承MultiDexApplication;
3、如果你的Application类已经继承自其它类,你不想修改它,那么可以重写attachBaseContext()方法:

@Override   
protected void attachBaseContext(Context base) {  
    super.attachBaseContext(base); MultiDex.install(this);  
}  

 最后运行就可以了,也可能打包了,这个问题貌似是工程中的方法数量超过安卓规定65536个方法数了

分享到:
评论

相关推荐

    net.sf.json.JsonObject需要的jar包

    为了使用`net.sf.json.JSONObject`,你需要在项目中引入相应的jar包。根据标题和描述,这个压缩包文件可能包含了运行和使用`net.sf.json.JSONObject`所需的依赖。通常,这些jar包可能包括json-lib的主库和其他可能的...

    com.alibaba.fastjson.JSON , net.sf.json.JSONObject

    在Java开发中,处理JSON数据时通常会用到一些库,如`com.alibaba.fastjson.JSON` 和 `net.sf.json.JSONObject`。这两个库分别是阿里巴巴的Fastjson和Eclipse的Json-lib。 首先,我们来详细了解一下`...

    使用json所需全部JAR包.rar

    在Android开发中,JSON是处理网络请求和响应数据的重要工具,尤其是在即时聊天软件项目中,用户发送的消息、接收的消息以及用户状态等信息通常都会以JSON格式进行传输。 本压缩包“使用json所需全部JAR包.rar”提供...

    bcprov-jdk15on-1.52.0、net.sf.json.jar、sun.misc.BASE64Decoder.jar

    bcprov-jdk15on-1.52.0.jar、sun.misc.BASE64Decoder.jar,local_policy.jar,US_export_policy.jar,包含net.sf.json jar6个jar一键可用commons-beanutils-1.9.4.jar最新版

    json-lib.rar

    例如,你可以使用`net.sf.json.JSONObject`类将一个HashMap转换为JSON格式: ```java import net.sf.json.JSONObject; import java.util.HashMap; HashMap, String> map = new HashMap(); map.put("name", "张三")...

    json解析需要的jar包

    在Android开发中,要使用`net.sf.json.JSONObject`,首先你需要将对应的jar包添加到项目的类路径中。压缩包中的"JsonObject的jar包"就是这个必要的依赖。以下是具体步骤: 1. **获取jar包**:你需要从可靠的源下载`...

    Android下使用JSON实现HTTP请求.pdf

    这里以Java为例,使用开源库`net.sf.json.JSONArray`和`net.sf.json.JSONObject`来处理JSON数据: ```java JSONArray jsonAry = JSONArray.fromObject(newsList); for (Map, Object> m : newsList) { String news...

    Android下使用JSON实现HTTP请求.docx

    这里使用的是`net.sf.json.JSONArray`和`net.sf.json.JSONObject`库,首先将接收到的JSON字符串转换为`JSONArray`或`JSONObject`,然后通过`.get()`或`.put()`方法进行操作。 例如,服务器端处理查询新闻列表的示例...

    JSON jar包

    1. **org.json**: 这是Android和Java中常用的一个JSON库,由Mozilla基金会提供。它包含JSON对象和数组的Java表示,以及将JSON与Java对象相互转换的API。主要类有JSONObject、JSONArray、JSONString、JSONTokener等。...

    多层集合的JSON串拼接

    你可以使用`net.sf.json.JSONObject`和`net.sf.json.JSONArray`类来创建、读取和操作JSON对象和数组。例如,你可以使用`JSONObject.fromObject()`将Java对象转换为JSON,`JSONObject.merge()`来合并两个JSON对象。 ...

    Android Http (Json) 服务器端和客户端通信

    2. **JSON数据构建**:通过`JSONArray`和`JSONObject`类(这里是使用了Net.sf.json库),可以构建JSON数据结构。在示例中,创建了一个包含多个`User`对象的列表,并将其转换为JSON数组。 3. **HTTP响应设置**:通过...

    Json转对象忽略大小写

    当然,如果`JsonUtils.java`中使用了其他方法,可能涉及到反射、正则表达式或自定义注解来实现忽略大小写的功能。自定义注解可以用来标记那些大小写不敏感的属性,然后在反序列化过程中特别处理这些属性。 总结一下...

    json-lib包最新合集20170403整理

    然后,你可以利用json-lib提供的API,如`net.sf.json.JSONObject`和`net.sf.json.JSONArray`来创建和操作JSON对象。例如,你可以使用`JSONObject.fromObject()`方法将Java对象转换为JSON对象,使用`JSONObject....

    json-lib-2.4JAR包

    例如,你可以将一个Java对象通过`net.sf.json.JSONObject.fromObject()`方法转换成JSON对象。 2. **JSON到Java对象的反转换**:同样,它也支持将JSON字符串解析回Java对象。例如,`net.sf.json.JSONObject.toBean()...

    使用json所要用到的jar包

    java.lang.NoClassDefFoundError: net/sf/ezmorph/Morpher java.lang.NoClassDefFoundError: org/apache/commons/collections/map/ListOrderedMap java.lang.NoClassDefFoundError: org/apache/commons/beanutils/...

    1.rar json-lib-2.4-jdk15.jar

    2. **创建JSON对象**:通过`net.sf.json.JSONObject`和`net.sf.json.JSONArray`类创建JSON对象。 3. **序列化Java对象**:使用`JSONObject.fromObject()`或`JSONArray.fromObject()`方法将Java对象转换为JSON。 4....

    JSON-lib

    可以使用`net.sf.json.JSONObject.fromXML(String xml)`方法完成这一操作。 5. **JSON反序列化**:将JSON字符串解析成Java对象的过程称为反序列化。JSON-lib提供了`JSONObject.toBean(JSONObject json)`和`...

    json数据转换jar包

    1. **json-lib的基本用法**:它提供了`net.sf.json.JSONObject`和`net.sf.json.JSONArray`类,分别对应JSON对象和数组。你可以通过这些类的方法来创建、读取和修改JSON结构。 2. **转换功能**:json-lib可以将Java...

    Json转对象所以jar

    import net.sf.json.JSONSerializer; public class JsonUtil { public static <T> T jsonToObject(String jsonString, Class<T> clazz) { return JSONSerializer.toJava(jsonString, clazz); } } ``` 在这个...

    jsonlib jar

    2. 创建一个JSON处理器,如`net.sf.json.JSONSerializer`或`net.sf.json.JSONObject`。 3. 使用`toJSON()`方法将Java对象转换为JSON格式。 4. 使用`fromJSON()`方法将JSON字符串解析回Java对象。 5. 如需进行XML与...

Global site tag (gtag.js) - Google Analytics