java数组装换。。。如下

java数组装换。。。如下,第1张

这个可以使用for循环加上java的Map集合来做, 代码冗长,扩展性差,不推荐!!

推荐使用 阿里的fastjsonjar包 或者gson来处理 ;因为你提供的数据都是JSON格式的数据

以fastjson为例,参考代码如下

//使用fastjson包

import comalibabafastjsonJSON;

import comalibabafastjsonJSONArray;

import comalibabafastjsonJSONObject;

public class Test {

public static void main(String[] args) {

//json字符串

String jsonStr = "[{'a':1,'b':3,'c':5},{'a':1,'b':7,'c':9},{'a':2,'b':2,'c':3},{'a':1,'b':2,'c':3},{'a':2,'b':4,'c':5}]";

JSONArray objects = JSONparseArray(jsonStr);//字符串-->json数组

JSONArray oneAry=new JSONArray();//json数组

JSONArray twoAry=new JSONArray();//json数组

for (int i = 0; i < objectssize(); i++) {

JSONObject obj = (JSONObject) objectsget(i);

int avlue = (int) objget("a");//获取a的值

if(avlue==1){//如果是1,那么存入数组1

oneAryadd(obj);

}else if(avlue==2){

twoAryadd(obj);

}

}

JSONObject one=new JSONObject();

oneput("one", oneAry);//存入到json对象

JSONObject two=new JSONObject();

twoput("two", twoAry);

Systemoutprintln(one);

Systemoutprintln(two);

}

}

你使用是什么json的jar包啊

如果你的json是直接实现map的,直接通过迭代器访问啊

··说错了

是orgjson不是实现map的但是它有一个获取迭代器的方法啊

在开发过程中遇到一个问题:服务器经过排序返回后的字符串数据在使用fastjson解析后,数据顺序发生了变化,这个问题也就是:使用fastjson解析数据后导致顺序改变或者说是如何保持String字符串转为json对象时顺序不变

解决方法:

方法一:解析时增加参数不调整顺序(亲测使用有效)

JSONObject respondeBodyJson = JSONObjectparseObject(str, FeatureOrderedField);

方法二:配置有序对象

JSONObjectparseObject(str,LinkedHashMapclass,FeatureOrderedField);

方法三:初始化json对象为有序对象

JSONObject retObj = new JSONObject(true);

方法四:使用Gson解析

JsonObject returnData = new JsonParser()parse(str)getAsJsonObject();

这样生成的json对象就与放入数据时保持一致了

注意:引入的fastjson相关的jar包版本要高于123,因为FeatureOrderedField是从123开始的

当 value 为 null 时, JSONObject toJSONString ()返回的 json 字符串将不展示对应的 key ,这明显不是我们想要的,所以可以使用

JSONObjecttoJSONString(Object object, SerializerFeature… features) 来获取我们想要的值, SerializerFeature 属性对应的值和含义如下:

关于SharedPreferences顺便再复习一下:

SharedPreferences 是Android 中的内置API,它允许我们存取键值对形式的基础类型数据,像:boolean,float ,int , long , string 。这些数据将会持久化的存在,即使你的应用程序结束之后(注意:如果应用从手机上写在掉后,该程序对应的SharedPreferences将会消失,保存在路径:/data/data/<package_name>/shared_prefs 目录下)

注意:User Preferences 用户配置

严格来说,SharedPreferences最好不要用来保存“用户配置”,比如,用户选择了什么铃声,是否自动更新等等。如果要为应用创建用户配置,可以使用PreferenceActivity,它可以用来创建“用户配置”。(PreferenceActivity用来创建程序中的设置界面)

以上就是关于java数组装换。。。如下全部的内容,包括:java数组装换。。。如下、java json处理 怎么样遍历未知key 具体 看代码、json.parseobject()的set方法设置顺序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9862785.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存