json字符串和list类型的相互转换

现在通过调用接口获得了string型的ret

 String ret = method.getResponseBodyAsString();

,ret里面是List

 {
    "VersionId": "V16",
    "GradeId": "G04"
},
{
    "VersionId": "V16",
    "GradeId": "G04"
}

型的数据,我现在想获取List,该怎么转型,试了好几种都不行,求大神带飞?

1个回答

你好,你这个你可以先写一个映射类,我们就叫Demo类

     private String VersionId;
    private String GradeId;


    public String getVersionId() {
        return VersionId;
    }

    public void setVersionId(String versionId) {
        VersionId = versionId;
    }

    public String getGradeId() {
        return GradeId;
    }

    public void setGradeId(String gradeId) {
        GradeId = gradeId;
    }

再用fastjson转就行

 List<Demo> aa =JSON.parseArray("你的字符串", Demo.class);
qq_18895659
树先生i 记得采用一下
2 年多之前 回复
qq_18895659
树先生i 回复tianguozhiya: 这样也可以的,只不过写映射类到取值的时候好取
2 年多之前 回复
tianguozhiya
去你大爷的昵称已存在 嗯嗯 谢谢 解决了 用的就是这个,不过我没有写映射类,我是这么实现的:List<Map<String,Object>> resultList =new ObjectMapper().readValue(ret1, List.class);
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
json字符串转换成java自定义对象(对象中包含list类型属性) --- 找大神
json字符串转换成java对象 , 但是对象中有一个类型时list的属性,怎么样才能更好地将json字符串中的值映射到java对象中去,,求救大神 可以将例子发到我邮箱里去 474836779@qq.com 谢谢
fastJson如何将json字符串转为list<javaBean>
String jsonString1 = "{pays:[{companyId:'1',merchantAccountId:'222',paymentChannel:'01'},{companyId:'2',merchantAccountId:'333',paymentChannel:'02'}]}"; String jsonString1 = "[{companyId:'1',merchantAccountId:'222',paymentChannel:'01'},{companyId:'2',merchantAccountId:'333',paymentChannel:'02'}]"; 不太清楚上面那种是对的,感觉是第一种对, 但是 List<PayInfoAllDTO> pays =(List<PayInfoAllDTO>) JSON.parseObject(jsonString1, PayInfoAllDTO.class); 会出现类型转换异常,就是说DTO不能转换为List,希望解决过此类问题的大神帮一下, PayInfoAllDTO.class这里是对的吗?
Java json字符串转jsonobject报错????
从前端用将这个json字符串传到后台var list = '[{fd_begin_day=20180312,fd_hour_size=2天,fd_last_write_sap_log=2018-03-12 20:53:00 写入 E Message:读取信息类0001时失败!,fd_leave_type=9110事假,fd_end_day=20180313,fd_item_id=1621a4605e97fa4c9b7c642417aba84f,fd_end_time=180000,fd_employeeid=01007068,fd_sap_flag=E,fd_begin_time=083000,doc_subject=任阿强的事假申请,fd_is_full_day=1,fd_id=1621a441aa32ef98351d2824eb7a9156},{fd_begin_day=20180312,fd_hour_size=2天,fd_last_write_sap_log=2018-03-12 20:53:00 写入 E Message:读取信息类0001时失败!,fd_leave_type=9110事假,fd_end_day=20180313,fd_item_id=1621a4605e97fa4c9b7c642417aba84f,fd_end_time=180000,fd_employeeid=01007068,fd_sap_flag=E,fd_begin_time=083000,doc_subject=任阿强的事假申请,fd_is_full_day=1,fd_id=1621a441aa32ef98351d2824eb7a9156}]' 后台接受到这个list并将这个list转换 JSONArray json = JSONArray.fromObject(list); 报错net.sf.json.JSONException: Expected a ',' or '}' at character 76 of [{fd_begin_day=20180312,fd。。。。。
springmvc @requestbody 接收json字符串的原理
问题如上。贴出代码 @RequestMapping(value = "/sk/api/users", method = RequestMethod.POST) public void entitys(@RequestBody List<User> users, HttpServletRequest request, HttpServletResponse response) { System.out.println("获取到" + users.size() + "个用户"); for(User user : users){ System.out.println(user); } writeJson(response, "ok"); } 问怎么把通过ajax发出的json转换成List的,里面的逻辑是什么
请问这个json怎么转成List<T>
{ "values": { "2016-02-24": [ 10000, 20000, 30000 ], "2016-02-23": [ 50000, 60000, 70000 ] } } 我用的Newtonsoft.Json,请问如何定义这个class,才能把上面的json字符串转换为 List<T>? 主要之前都用用 键:值 形式的json ,类似 {\"ID\":\"112\",\"Name\":\"石子儿\"}" 这样的,写一个person类就可以直接转List<Person>了。 另外我百度了一下 DeserializeAnonymousType 应该也可以,但是那个匿名类怎么写?
一个json格式的字符串,在转换为数组时出现问题
[{"id":"17","name":"w","sex":"a","age":"1"},{"id":"23","name":"a","sex":"e","age":"3"}] 类似于这样。之前写过jsontodictionary,现在这样的一个格式,存入数据库。因为这个字符串长度不固定,我打算先转换为数组,遍历数组的每一个内容我在使用jsontodictionary,键值对形式放入数据库。现在转数组时出现问题,我想转list<object>,但是说无效的基元,不知道那部分出现问题
jackson 字符串转换成List集合的问题请教
我使用了jackson先将一个List集合对象转换成json字符串后,再将json字符串转成List集合出了问题 ,报错信息如下: [code="java"] Exception in thread "main" org.codehaus.jackson.map.JsonMappingException: No suitable constructor found for type [simple type, class com.mailbill.HDataA]: can not instantiate from JSON object (need to add/enable type information?) at [Source: java.io.StringReader@147917a; line: 1, column: 3] at org.codehaus.jackson.map.JsonMappingException.from(JsonMappingException.java:163) at org.codehaus.jackson.map.deser.BeanDeserializer.deserializeFromObjectUsingNonDefault(BeanDeserializer.java:746) at org.codehaus.jackson.map.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:683) at org.codehaus.jackson.map.deser.BeanDeserializer.deserialize(BeanDeserializer.java:580) at org.codehaus.jackson.map.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:217) at org.codehaus.jackson.map.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:194) at org.codehaus.jackson.map.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:30) at org.codehaus.jackson.map.ObjectMapper._readMapAndClose(ObjectMapper.java:2732) at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1877) at com.mailbill.datacore.util.JsonUtil.jacksonToCollection(JsonUtil.java:315) at com.mailbill.TestJson.main(TestJson.java:27) [/code] 我的List集合中的对象里有一个属性也是一个集合,代码如下: HData.java [code="java"] package com.mailbill; import java.util.List; public class HDataA { private String name; private String code; private List<HDataB> dataBList ; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } public List<HDataB> getDataBList() { return dataBList; } public void setDataBList(List<HDataB> dataBList) { this.dataBList = dataBList; } public HDataA(String name, String code, List<HDataB> dataBList) { super(); this.name = name; this.code = code; this.dataBList = dataBList; } } [/code] HDataB.java: [code="java"] package com.mailbill; public class HDataB { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public HDataB(String name) { super(); this.name = name; } } [/code] 我的测试类: [code="java"] package com.mailbill; import java.util.ArrayList; import java.util.List; import org.aspectj.apache.bcel.generic.ARRAYLENGTH; import com.mailbill.datacore.util.JsonUtil; public class TestJson { /** * @param args * @throws Exception */ public static void main(String[] args) throws Exception { // TODO Auto-generated method stub List<HDataA> dataAlist = new ArrayList<HDataA>(); List<HDataB> dataBList = new ArrayList<HDataB>(); dataBList.add(new HDataB("hehe")); dataBList.add(new HDataB("xixi")); dataAlist.add(new HDataA("nidaye", "woqu", dataBList)); String str = JsonUtil.objectToJackson(dataAlist); System.out.println(str); dataAlist = JsonUtil.jacksonToCollection(str, List.class, HDataA.class); if(dataAlist ==null){ System.out.println(" dataAlist is null"); }else{ System.out.println(" ok "); } } } [/code] JsonUtion.java: [code="java"] private static ObjectMapper jacksonMapper = new ObjectMapper(); public static String objectToJackson(Object obj) throws Exception { return jacksonMapper.writeValueAsString(obj); } public static <T> T jacksonToCollection(String src,Class<?> collectionClass, Class<?>... valueType) throws Exception { JavaType javaType= jacksonMapper.getTypeFactory().constructParametricType(collectionClass, valueType); return (T)jacksonMapper.readValue(src, javaType); } [/code] 不知道jackson如何对这类集合进行转换?
请教java对象集合用json转换成字符串的问题
如题,我在用JSONArray.fromObject()将对象集合转换成字符串的时候给我报了个如下图的异常![图片说明](https://img-ask.csdn.net/upload/201607/30/1469867156_465306.png) 这个异常是我用debug走到下面这段代码时抛出的 ``` JSONArray jsonArray=JSONArray.fromObject(ypyizhuList);//抛出异常的代码 String aa=jsonArray.toString(); ``` 其中ypyizhuList是一个对象集合。 为了大神忙好帮我解决问题,现将主要的代码贴出,希望有高手帮我解决下,自己实在不知道该怎么解决了,代码如下 ``` import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletRequest; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionSupport; import com.pb.entity.Qtfy; import com.pb.util.Ypyznr; public class CycfAction extends ActionSupport { private String feibie; private String lczhenduan; private String kebie; private String mark; private List<Ypyznr> ypyizhuList; private List<Qtfy> qtfyyizhuList; private Ypyznr ypyznr=new Ypyznr(); private Qtfy qtfy=new Qtfy(); public String cycf(){ HttpServletRequest request = ServletActionContext.getRequest(); String[] ypyizhu=request.getParameterValues("ypyizhu"); String[] qtfyyizhu=request.getParameterValues("qtfyyizhu"); ypyizhuList=new ArrayList<Ypyznr>(); qtfyyizhuList=new ArrayList<Qtfy>(); for(int i=0;i<ypyizhu.length;i++){ String[] objypyizhu=ypyizhu[i].split(","); ypyznr.setYpmc(objypyizhu[0]); ypyznr.setZddwsl(objypyizhu[1]); ypyznr.setZddw(objypyizhu[2]); ypyznr.setZxdwsl(objypyizhu[3]); ypyznr.setZxdw(objypyizhu[4]); ypyznr.setJe(objypyizhu[5]); ypyizhuList.add(ypyznr); } for(int a=0;a<qtfyyizhu.length;a++){ String[] objqtfyyizhu=qtfyyizhu[a].split(","); qtfy.setQtfymc(objqtfyyizhu[0]); qtfy.setQtfyje(objqtfyyizhu[1]); qtfyyizhuList.add(qtfy); } JSONArray jsonArray=JSONArray.fromObject(ypyizhuList);//抛出异常的代码 String aa=jsonArray.toString(); JSONArray jsonArraytow=JSONArray.fromObject(qtfyyizhuList); String bb=jsonArraytow.toString(); System.out.println(aa); System.out.println(bb); return "success"; } ``` 我怀疑是jar包的问题,但是不知道是不是jar包有问题,现把所有的jar包也贴出来吧,望高手帮忙看下,所有jar包如下图 ![图片说明](https://img-ask.csdn.net/upload/201607/30/1469868271_895885.png) ![图片说明](https://img-ask.csdn.net/upload/201607/30/1469868288_757893.png)
json array转换list集合,很多数据都为空,或不对怎么办
[图片说明](https://img-ask.csdn.net/upload/201512/12/1449903513_234915.png) [图片说明](https://img-ask.csdn.net/upload/201512/12/1449903557_286439.png) [图片说明](https://img-ask.csdn.net/upload/201512/12/1449903552_298078.png) json数组转换成list<>的时候,数据都为空,这是为什么,实体类也定义过了,数据也都对,怎么才能将json字符串或者json数组转换成list集合的对象啊,试了很多种方法都不行
String字符串转换成json格式并打印json数据。
执行到150行的时候,不抱错,也没有执行后面的语句,我想请教大神String转json格式然后存储到本地数据库,有什么办法。 package sql_conn; import java.awt.EventQueue; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.DataOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.net.URLEncoder; import javax.swing.*; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import java.sql.Types; import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.FileReader; import java.io.RandomAccessFile; import java.util.ArrayList; import java.util.List; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class java_sql extends JFrame{ JTextArea jtf1,jtf2; JButton yellowbutton,bluebutton,redbutton,okbutton; private static String test_url="jdbc:jtds:sqlserver://192.168.5.14:1433;DatabaseName=EUCP5"; private static String test_user = "admin123"; private static String test_pwd = "abcd_12345"; private static Connection con = null; public static void main(String[] args) { // TODO Auto-generated method stub EventQueue.invokeLater(new Runnable() { @Override public void run() { // TODO Auto-generated method stub java_sql frame=new java_sql(); frame.setVisible(true); } }); } public java_sql(){ this.setTitle("EUCP_数据库连接调试工具"); this.setSize(600,600); okbutton=new JButton("提交"); okbutton.setVisible(true); /*按钮添加button1Handler监听*/ okbutton.addActionListener(new Button1Handler()); //add buttons to panel buttonPanel=new JPanel(); buttonPanel.add(okbutton); this.add(buttonPanel); } private class Button1Handler implements ActionListener{ public void actionPerformed(ActionEvent e){ try { java_sql sms=new java_sql(); //jtf2.setText(okbutton.getActionCommand()); //JOptionPane.showMessageDialog(null, e.toString(), "alter", JOptionPane.ERROR_MESSAGE); sms.send_middle("177612309","验证码是48907"); } catch (Exception ex) { //JOptionPane.showMessageDialog(null, ex.toString(), "alter", JOptionPane.ERROR_MESSAGE); } } } private JPanel buttonPanel; public static int send_middle(String url, String param) throws MalformedURLException, UnsupportedEncodingException { String inputLine = ""; int value = -2; String con; DataOutputStream out = null; //InputStream in = null; String strUrl="http://eucpwx.mb345.com:443/AppApi/User/GetUserList?"; String strparam = "UserID=SU0126&GetType=1&NowID=&GetNum=100&Other=&SearchUserName="; try { System.out.println("start"); inputLine = sendPost(strUrl, strparam); //value = new Integer(inputLine).intValue(); System.out.println(inputLine); String str=String.valueOf(inputLine); //JSONObject st = JSONObject.fromObject(str); JSONObject jsonObject = new JSONObject().fromObject(str.toString()); System.out.println("可以"); Object data=jsonObject.get("UserID"); jsonObject = new JSONObject().fromObject(data.toString()); data=jsonObject.get("data"); jsonObject = new JSONObject().fromObject(data.toString()); data=jsonObject.get("value"); int value_k = Integer.parseInt(data.toString()); /* Statement stmt = null; String strSQL = ""; String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver"; String dbURL="jdbc:slserver://192.168.5.14:1433;DatabaseName=EnterpriseSMS_Play"; String userName="admin"; String userPwd="abcd"; Class.forName(driverName); Connection dbConn=DriverManager.getConnection(dbURL,userName,userPwd); String sql = ""; //注意java对SQL Server发送的SQL语句中表名需要用[]包围 System.out.println("SQL 开始"); for (int i = 0; i < jsonArr.size(); i++) { userid[i] = jsonArr.getJSONObject(i).getString("userid"); username[i] = jsonArr.getJSONObject(i).getString("username"); mobile[i] = jsonArr.getJSONObject(i).getString("mobile"); Avatar[i] = jsonArr.getJSONObject(i).getString("Avatar"); sql = "INSERT into user_bak (userid, username, mobile, Avatar) values('"+userid[i]+"','" +username[i]+"','"+mobile[i]+ "','"+Avatar[i]+"');"; System.out.println(sql.toString()); PreparedStatement statement = null; statement = dbConn.prepareStatement(sql); ResultSet rs = statement.executeQuery(); rs.close(); statement.close(); dbConn.close(); File f = new File("log.txt"); if (!f.exists()) { f.createNewFile(); } OutputStreamWriter write = new OutputStreamWriter(new FileOutputStream(f),"utf-8"); BufferedWriter writer=new BufferedWriter(write); writer.write(content); writer.close(); }*/ } catch (Exception e) { //System.out.println(e.toString()); value = -2; } //System.out.println(String.format("返回值:%d", value)); return value; } /** * 向指定 URL 发送POST方法的请求 * * @param url * 发送请求的 URL * @param param * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 * @return 所代表远程资源的响应结果 */ public static String sendPost(String url, String param) { PrintWriter out = null; BufferedReader in = null; String result = ""; try { URL realUrl = new URL(url); // 打开和URL之间的连接 URLConnection conn = realUrl.openConnection(); // 设置通用的请求属性 conn.setRequestProperty("accept", "*/*"); conn.setRequestProperty("connection", "Keep-Alive"); conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); // 发送POST请求必须设置如下两行 conn.setDoOutput(true); conn.setDoInput(true); // 获取URLConnection对象对应的输出流 out = new PrintWriter(conn.getOutputStream()); // 发送请求参数 out.print(param); // flush输出流的缓冲 out.flush(); // 定义BufferedReader输入流来读取URL的响应 in = new BufferedReader( new InputStreamReader(conn.getInputStream())); String line; while ((line = in.readLine()) != null) { //System.out.println(line); //String send_line =URLEncoder.encode(line.toString(), "utf-8"); //JOptionPane.showMessageDialog(null, line.toString(), "alter", JOptionPane.ERROR_MESSAGE); //System.out.println(line.toString()); result += line; //System.out.println(result.toString()); } } catch (Exception e) { //System.out.println("发送 POST 请求出现异常!" + e); e.printStackTrace(); } // 使用finally块来关闭输出流、输入流 finally { try { if (out != null) { out.close(); } if (in != null) { in.close(); } } catch (IOException ex) { ex.printStackTrace(); } } return result; } } ![图片说明](https://img-ask.csdn.net/upload/201709/04/1504509813_211448.png)
json数据转换
我有一个list list里面封装了对象。 我使用了jqgrid的插件,需要这样的数据类型, 现在得到一个 ls集合 cell:[”Row 1:1″,”Row 1:2″,”Row 1:3″]里的值应该是对象的某属性的值 我定义了一个字符串str { total: xxx, page: yyy, records: zzz, rows: [ {id:”1″,cell:[”Row 1:1″,”Row 1:2″,”Row 1:3″]}, {id:”2″,cell:[”Row 2:1″,”Row 2:2″,”Row 2:3″]}, {id:”3″,cell:[”Row 3:1″,”Row 3:2″,”Row 3:3″]}, ]} 就是怎么将ls通过拼接字符串的方式转成上面的格式的json串啊 ?
高效解析简单结构json
没有属性,只有数值的字符串json:格式如下 [ [1,2,3], [3,4,5], [6,7,8], .... ] 嵌套的每个数组长度都是一样的,元素数值类型为Double,可能有值为null。 最开始使用的是alibaba的fastjson解析,但因为数据量巨大,实际性能也并不是很好,于是查看了源码,因为源码是解析通用对象的,有很多不必要的判断。怎么自己手写一个比较简单高效的针对这个格式的解析呢?要转换成List<Double>
求大神指点,告诉我为啥会这样
我从数据库里查出一个list,用Gson 转换成Json字符串,字符串里每个value的值都只有一个首字符,表示不解,求大神指点,谢谢谢谢谢谢!! ![图片说明](https://img-ask.csdn.net/upload/201610/14/1476449048_536919.png)
jquery与servlet交互的json问题
框架用烦了,目前只用servlet和jquery,servlet返回json数据,jquery在前面无刷新的解析,原来用struts2自带的jsonplugin,现在用google-gson包生成json字符串,但是为什么不行呢? 前台页面jquery请求后台servlet: $(document).ready(function(){ $("#b_submit").click(function(){ $.ajax({ type:"POST", url:"buttonSubmit", data:{ id:1, name:"zhang" }, success:function(data){ alert(data.list); }, dateType:"json" }) }); }) 后台servlet代码: protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //response.setContentType("application/x-json"); response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); String name = request.getParameter("name"); String id = request.getParameter("id"); System.out.println(name); System.out.println(id); List<TestBean> tbList = new ArrayList<TestBean>(); TestBean tb = new TestBean(); tb.setId(id); tb.setName(name); tbList.add(tb); TestBean tb2 = new TestBean(); tb2.setId("2"); tb2.setName("gu"); tbList.add(tb2); Gson gson = new Gson(); HashMap<String,List<TestBean>> map = new HashMap<String,List<TestBean>>(); map.put("list", tbList); out.print(gson.toJson(map)); out.close(); } 但是为什么不行呢?有朋友说要换成response.setContentType("application/x-json");但是我也试了,也不行,页面用data.list时总是undefined,用data.length,它会按string的长度返回来,后来用JSON.parse来转换是可以的,但我觉得这样麻烦,如果能返回json数据,又何必再转换一下呢?效率就降低了,请大家帮助! [b]问题补充:[/b] 我返回来的是一个类似的json格式的字符串,但是我用js去判断的时候,会有问题: 例如:{"list":[{"id":1,"name":"gu"},{"id",2,"name":"zhang"}]} 我用data.list取不到值啊,这是为什么呢?以前集成struts2框架时都是可以的
Caused by: java.lang.ClassNotFoundException: Didn't find class "java.beans.PropertyDescriptor"错误
List<DivAppRecruitInfo> list2=(List<DivAppRecruitInfo>) JSONArray.toList(JSONArray.fromObject(result), DivAppRecruitInfo.class); 我已经从服务端获取到json格式的字符串数据了,想要把json字符串转化成对象,需要使用JSONObject和JSONArray,网上说要下 commons-beanutils.jar commons-lang.jar commons-collections.jar commons-logging.jar json-lib-2.2.3-jdk15.jar ezmorph-1.0.6.jar。 我都下了,但是运行就报错Caused by: java.lang.NoClassDefFoundError: Failed resolution of: [Ljava/beans/PropertyDescriptor 这是什么意思啊; 请各位有经验的Android开发者帮忙看下,感激不尽,
内连接查询得到的地址如何以字符串形式输出啊?
内连接查询结果: [[Ljava.lang.Object;@201b4434, [Ljava.lang.Object;@5e1ac263, [Ljava.lang.Object;@2ed021d9, [Ljava.lang.Object;@625e4591, [Ljava.lang.Object;@1b29650b 其中包含两个表的信息,还包含日期格式的信息,不知道用什么方法能让他以字符串格式的方式输出?请教大家了,谢谢! 业务逻辑代码: 分页查询,先查出LIST集合,后查出总条数 @SuppressWarnings("unchecked") @Transactional(readOnly=true,propagation=Propagation.NOT_SUPPORTED) public <T> QueryResult<T> getScrollDate(Class<BBasic> class1,Class<CClient> class2, int firstindex, int maxresult, String selectsql) { //创建一个QueryResult对象 QueryResult qr=new QueryResult<T>(); //实体类的名称 String entityname1=class1.getSimpleName(); String entityname2=class2.getSimpleName(); System.out.println(entityname1); System.out.println(entityname2); Query query=sessionFactory.getCurrentSession().createQuery("select p.id,p.project,c.company,c.linkman,p.number,p.start from "+entityname1+" p join p.client c"); //设置分页数据 if(firstindex !=-1 && maxresult !=-1) { query.setFirstResult(firstindex); query.setMaxResults(maxresult); } //将查询出的结果放到QueryResult的resultlist属性中 qr.setResultlist(query.list()); query=sessionFactory.getCurrentSession().createQuery("select count(p) from "+entityname1+" p join p.client c"); qr.setTotalrecord((Long)query.uniqueResult()); return qr; } 控制层代码 @RequestMapping("/basicAction_query") public void query(HttpServletRequest request,HttpServletResponse response) throws IOException{ int currentPage=Integer.parseInt(request.getParameter("page")); int pageSize=Integer.parseInt(request.getParameter("rows")); PageView pageview=new PageView(currentPage,pageSize); String selectsql=""; QueryResult<BBasic> queryResult=basicService.getScrollDate( BBasic.class,CClient.class , (currentPage-1)*pageview.getMaxresult(), pageview.getMaxresult(), selectsql); long totalrecord=queryResult.getTotalrecord(); List<BBasic> resultlist=queryResult.getResultlist(); System.out.println(totalrecord); System.out.println(resultlist); //是个地址! JsonConfig jsonConfig=new JsonConfig(); jsonConfig.registerJsonValueProcessor(java.util.Date.class, new DateJsonValueProcessor()); List list=JSONArray.fromObject(resultlist,jsonConfig); System.out.println(list); //用地址转换JSON格式得到的是一个数组形式的list集合,并且是在没有日期格式的情况下可以转换,如果有日期格式直接报格式不匹配错误! 如果日期能够在集合中显示出来分页问题就解决了!请教大神如何解决这个问题,谢谢!
Object强转成MorphDynaBean为什么会有属性值丢失?
情况是这样:我将Student对象转成json存到数据库里,然后再从数据库里把json字符串 取出来还原成Student对象时就发现有GPA这个属性的值变成了null了,并且该属性由原来的Double类型变成了Integer类型 public static void save(Json synJsonStr){ //这里的synJsonStr就是从数据库取到的json字符串,debug的时候看到了json里的值是没有问题的 DataSynObj dso = JsonUtil.toBean(synJsonStr, DataSynObj.class); List<Object> insertDataList = dso.getInsertDataList(); for (Object object : insertDataList) { MorphDynaBean oldBean = (MorphDynaBean) object; } } //这是数据同步类 public class SynObj{ private List<Object> insertList; private List<Object> updateList; private List<Object> deleteList; public List<Object> getInsertDataList() { return insertDataList; } public void setInsertDataList(List<Object> insertDataList) { this.insertDataList = insertDataList; } public List<Object> getUpdateDataList() { return updateDataList; } public void setUpdateDataList(List<Object> updateDataList) { this.updateDataList = updateDataList; } public List<Object> getDeleteDataList() { return deleteDataList; } public void setDeleteDataList(List<Object> deleteDataList) { this.deleteDataList = deleteDataList; } } //这是学生实体类 public class Student{ private Double GPA; public Double getGPA() { return GPA; } public void setGPA(Double addressKilometers) { this.GPA = GPA; } } 问题就在"MorphDynaBean oldBean = (MorphDynaBean) object;"这一步,转换的时候GPA的类型就变成了Integer,赋值也变成了null 还有个表现就是:我在本机测试没有问题,在另一台机器上测试就会出现这个bug,jdk版本都是1.7
json-lib如何转化复杂对象?
[code="java"] String jsonStr = {"id":"ynode-6","children":[{"id":"01","text":"Trends","href":"blah blah","children":[{"id":"011","text":"Host Changes","href":"blah blah","leaf":"true"},{"id":"012","text":"Hosts and Vulnerability","href":"blah blah","leaf":"true"}]}]} [/code] 只用一个javabean能解决问题吗? [code="java"] public class Tb_treemoudle { private String id; private String text; private String href; private String leaf; private List<Tb_treemoudle> children; .... setting and getting method .... } [/code] 小弟在此请教了,请大家帮帮忙.我想用json-lib把此json字符串转化成java对象保存数据库,以后会重组json对象,到前台展示. [b]问题补充:[/b] 不直接保存数据库 是因为这个是做前台的菜单显示服务的,角色不同,程序可能组建的json不同.
请教后端大神,这个怎么获取不到转化后配置的list
如题:配置文件有一个这样的json ``` pushConfig=[{"channel":"rjs",\ "configMJB":{"appID":"DHcGDs8bDd8rgl5tFSJSV7",\ "appKey":"1LxEoJPhMZ65chrVrhirC3",\ "masterKey":"hn5Cy0AMfy8oLu9CLGNrJA"}}] ``` 注入配置文件里面内容 ``` <bean id="configFactory" class="com.rjs.marketing.app.config.ConfigFactory" init-method="init"> <property name="pushConfig" value="${pushConfig}"/> </bean> ``` 有这么个类接收 ``` public class ConfigFactory { //这里需要把json字符串转换成list private String pushConfig; private List<Map<String, Map<String, String>>> pushConfigList; 这是操作; private List<Map<String, Map<String, String>>> initPushConfigList() throws Exception { List<Map<String, Map<String, String>>> configList = JsonUtil.jsonStrToList(this.pushConfig, PushConfig.class); this.pushConfigList = configList; return this.pushConfigList; } } ``` 这是jsonStrToList操作 ``` public static <T> List<T> jsonStrToList(String jsonStr, Class<?> clazz) throws JsonParseException, JsonMappingException, IOException { List<T> list = Lists.newArrayList(); if (StringUtils.isEmpty(jsonStr)) { return list; } // 指定容器结构和类型(这里是ArrayList和clazz) TypeFactory t = TypeFactory.defaultInstance(); list = objectMapper.readValue(jsonStr, t.constructCollectionType(ArrayList.class, clazz)); return list; } ``` 这是获取,问题是获取的list是个[], 是空啊啊啊啊啊 ``` List<Map<String, Map<String, String>>> list = configFactory.getPushConfigList(); for (Map<String, Map<String, String>> map : list) { Map<String, String> map2 = map.get("configMJB"); String appID = map2.get("appID"); String appKey = map2.get("appKey"); String masterKey = map2.get("masterKey"); if(pushMsg.getPlatform() != null && !pushMsg.getPlatform().getPlatform().contains("MAJIABAO")){ if(!"rjs".equals(map.get("channel"))){ continue; } } ``` 请教大神...我哪操作错了
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载    点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量 path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 顺便拉下票,我在参加csdn博客之星竞选,欢迎投票支持,每个QQ或者微信每天都可以投5票,扫二维码即可,http://m234140.nofollow.ax.
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 欢迎 改进 留言。 演示地点跳到演示地点 html代码如下`&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;music&lt;/title&gt; &lt;meta charset="utf-8"&gt
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。 1. for - else 什么?不是 if 和 else 才
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7
通俗易懂地给女朋友讲:线程池的内部原理
餐厅的约会 餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”我楞了一下,心里想女朋友今天是怎么了,怎么突然问出这么专业的问题,但做为一个专业人士在女朋友面前也不能露怯啊,想了一下便说:“我先给你讲讲我前同事老王的故事吧!” 大龄程序员老王 老王是一个已经北漂十多年的程序员,岁数大了,加班加不动了,升迁也无望,于是拿着手里
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹
面试官:你连RESTful都不知道我怎么敢要你?
面试官:了解RESTful吗? 我:听说过。 面试官:那什么是RESTful? 我:就是用起来很规范,挺好的 面试官:是RESTful挺好的,还是自我感觉挺好的 我:都挺好的。 面试官:… 把门关上。 我:… 要干嘛?先关上再说。 面试官:我说出去把门关上。 我:what ?,夺门而去 文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接
JDK12 Collectors.teeing 你真的需要了解一下
前言 在 Java 12 里面有个非常好用但在官方 JEP 没有公布的功能,因为它只是 Collector 中的一个小改动,它的作用是 merge 两个 collector 的结果,这句话显得很抽象,老规矩,我们先来看个图(这真是一个不和谐的图????): 管道改造经常会用这个小东西,通常我们叫它「三通」,它的主要作用就是将 downstream1 和 downstre...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
【图解经典算法题】如何用一行代码解决约瑟夫环问题
约瑟夫环问题算是很经典的题了,估计大家都听说过,然后我就在一次笔试中遇到了,下面我就用 3 种方法来详细讲解一下这道题,最后一种方法学了之后保证让你可以让你装逼。 问题描述:编号为 1-N 的 N 个士兵围坐在一起形成一个圆圈,从编号为 1 的士兵开始依次报数(1,2,3…这样依次报),数到 m 的 士兵会被杀死出列,之后的士兵再从 1 开始报数。直到最后剩下一士兵,求这个士兵的编号。 1、方...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
GitHub标星近1万:只需5秒音源,这个网络就能实时“克隆”你的声音
作者 | Google团队 译者 | 凯隐 编辑 | Jane 出品 | AI科技大本营(ID:rgznai100) 本文中,Google 团队提出了一种文本语音合成(text to speech)神经系统,能通过少量样本学习到多个不同说话者(speaker)的语音特征,并合成他们的讲话音频。此外,对于训练时网络没有接触过的说话者,也能在不重新训练的情况下,仅通过未知...
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员...
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC...
【技巧总结】位运算装逼指南
位算法的效率有多快我就不说,不信你可以去用 10 亿个数据模拟一下,今天给大家讲一讲位运算的一些经典例子。不过,最重要的不是看懂了这些例子就好,而是要在以后多去运用位运算这些技巧,当然,采用位运算,也是可以装逼的,不信,你往下看。我会从最简单的讲起,一道比一道难度递增,不过居然是讲技巧,那么也不会太难,相信你分分钟看懂。 判断奇偶数 判断一个数是基于还是偶数,相信很多人都做过,一般的做法的代码如下...
【管理系统课程设计】美少女手把手教你后台管理
【文章后台管理系统】URL设计与建模分析+项目源码+运行界面 栏目管理、文章列表、用户管理、角色管理、权限管理模块(文章最后附有源码) 1. 这是一个什么系统? 1.1 学习后台管理系统的原因 随着时代的变迁,现如今各大云服务平台横空出世,市面上有许多如学生信息系统、图书阅读系统、停车场管理系统等的管理系统,而本人家里就有人在用烟草销售系统,直接在网上完成挑选、购买与提交收货点,方便又快捷。 试想,若没有烟草销售系统,本人家人想要购买烟草,还要独自前往药...
4G EPS 第四代移动通信系统
目录 文章目录目录4G 与 LTE/EPCLTE/EPC 的架构E-UTRANE-UTRAN 协议栈eNodeBEPCMMES-GWP-GWHSSLTE/EPC 协议栈概览 4G 与 LTE/EPC 4G,即第四代移动通信系统,提供了 3G 不能满足的无线网络宽带化,主要提供数据(上网)业务。而 LTE(Long Term Evolution,长期演进技术)是电信领域用于手机及数据终端的高速无线通...
相关热词 c# 图片上传 c# gdi 占用内存 c#中遍历字典 c#控制台模拟dos c# 斜率 最小二乘法 c#进程延迟 c# mysql完整项目 c# grid 总行数 c# web浏览器插件 c# xml 生成xsd
立即提问