wordpress最快仿站,三亚专业网站建设,中国纪检监察报理论版,唐山市政建设总公司网站前些天发现了一个巨牛的人工智能学习网站#xff0c;通俗易懂#xff0c;风趣幽默#xff0c;忍不住分享一下给大家。点击跳转到教程。
问题由来#xff1a;
最近由于做一个项目#xff0c;项目的一个功能就是根据Listview的内容生成一个二维码#xff0c;然后扫描二维…前些天发现了一个巨牛的人工智能学习网站通俗易懂风趣幽默忍不住分享一下给大家。点击跳转到教程。
问题由来
最近由于做一个项目项目的一个功能就是根据Listview的内容生成一个二维码然后扫描二维码获取list再重新显示listview。
核心就是: list—-生成二维码——获取二维码—–获取list
生成二维码的方法
http://blog.csdn.net/demonliuhui/article/details/52948696
由于生成二维码的参数类型是String不能是list。如果将list的内容get出来拼成String生成二维码。扫描二维码后如何处理String转为list又是一个棘手的问题。因此我想到了将list的内容封装成json因为json本身就是String类型所以生成二维码就会很简单进而对json进行解析生成list。整个问题就变成了一个很easy的问题 list—-json——-生成二维码——扫描二维码获取json——解析json——-list
于是自己写了一个代码list转换为json /***数据封装成json** param items 物料入库数据* return json* throws JSONException*/
public static String GoodIn2Json(ListGoodInfo items) throws JSONException {if (items null) return ;JSONArray array new JSONArray();JSONObject jsonObject null;GoodInfo info null;for (int i 0; i items.size(); i) {info items.get(i);jsonObject new JSONObject();jsonObject.put(Api.COLORID, info.getColorId());jsonObject.put(Api.STOCK, info.getStock());array.put(jsonObject);}return array.toString();}
1234567891011121314151617181920216/*** 将json数组解析出来,生成自定义数据的数组* param data 包含用户自定义数据的json* return 自定义信息的数据* throws JSONException*/public static ListMoreInfo Json2UserDefine(String data) throws JSONException {ListMoreInfo items new ArrayList();if (data.equals()) return items;JSONArray array new JSONArray(data);JSONObject object null;MoreInfo item null;for (int i 0; i array.length(); i) {object array.getJSONObject(i);String key object.getString(Api.KEY);String value object.getString(Api.VALUE);item new MoreInfo(key, value);items.add(item);}return items;} 7代码很简单就不详解。这样貌似就大功告成了但是 这样只能处理list里面只有一组数据的情况。如果循环封装成json得到的格式就是 [{name:name0,age:0}][{name:name1,age:5}][{name:name2,age:10}] 1而不是 [{name:name0,age:0}{name:name3,age:15},{name:name4,age:20}] 1很明显第一种格式并不是我想要的json格式还要据循循环遍历json解析想想就让人苦恼。 list里面参数少还好如果有很多的话岂不是要累死。 于是我百度了一下list转换为json不查不知道一查原来还有json转换为list。狂吐两口老血 不过也算是学到了。 1.使用谷歌的Gson.jar。 2.使用阿里的fastJson.jar 已经打包好了地址 http://download.csdn.net/detail/demonliuhui/9666072 简单的令人发指 谷歌的Gson.jar //list转换为json
Gson gson new Gson();
ListPerson persons new ArrayListPerson();
String str gson.toJson(persons); //json转换为list
Gson gson new Gson();
ListPerson persons gson.fromJson(str, new TypeTokenListPerson(){}.getType()); 阿里的fastJson.jar //list转换为json
ListCustPhone list new ArrayListCustPhone();
String strJSON.toJSON(list).toString(); //json转换为list ListPerson list new ArrayListPerson(); list JSONObject.parseArray(jasonArray, Person.class); 导入jar包直接调用简单无烦恼。 另一方法 package com.listandjson;import java.util.ArrayList;
import java.util.List;
import net.sf.json.JSONArray;public class Test {public static void main(String[] args) {ListString list new ArrayListString();list.add(abc);list.add(123);//list转成jsonString json JSONArray.fromObject(list).toString();System.out.println(json); //运行[abc,123]//json转成listJSONArray jsonArray JSONArray.fromObject(json);ListString list2 (List) JSONArray.toCollection(jsonArray);for (int i 0; i list2.size(); i) {System.out.println(list2.get(i)); //运行abc// 123}}
}