精华内容
下载资源
问答
  • 文章目录net.sf.json.JSONObject依赖jar包如果遇到报错:net.sf.json.JSONException net.sf.json.JSONObject依赖jar包 可以直接引入一个jar包 <dependency> <groupId>net.sf.json-lib</groupId>...

    net.sf.json.JSONObject依赖jar包

    可以直接引入一个jar包

    		<dependency>
                <groupId>net.sf.json-lib</groupId>
                <artifactId>json-lib</artifactId>
                <version>2.4</version>
                <classifier>jdk15</classifier>
            </dependency>
    

    或者是引入多个

    <!-- JSONObject对象依赖的jar包 开始-->
            <dependency>
                <groupId>commons-beanutils</groupId>
                <artifactId>commons-beanutils</artifactId>
                <version>1.9.3</version>
            </dependency>
            <dependency>
                <groupId>commons-collections</groupId>
                <artifactId>commons-collections</artifactId>
                <version>3.2.1</version>
            </dependency>
            <dependency>
                <groupId>commons-lang</groupId>
                <artifactId>commons-lang</artifactId>
                <version>2.6</version>
            </dependency>
            <dependency>
                <groupId>commons-logging</groupId>
                <artifactId>commons-logging</artifactId>
                <version>1.1.1</version>
            </dependency>
            <dependency>
                <groupId>net.sf.ezmorph</groupId>
                <artifactId>ezmorph</artifactId>
                <version>1.0.6</version>
            </dependency>
            <dependency>
                <groupId>net.sf.json-lib</groupId>
                <artifactId>json-lib</artifactId>
                <version>2.2.3</version>
                <classifier>jdk15</classifier><!-- jdk版本 -->
            </dependency>
            <!-- Json依赖架包下载结束 -->
    

    如果遇到报错:net.sf.json.JSONException

    net.sf.json.JSONException: java.lang.reflect.InvocationTargetException
    
    at net.sf.json.JSONObject.defaultBeanProcessing(JSONObject.java:818)
    	at net.sf.json.JSONObject._fromBean(JSONObject.java:699)
    	at net.sf.json.JSONObject.fromObject(JSONObject.java:172)
    	at net.sf.json.AbstractJSON._processValue(AbstractJSON.java:274)
    	at net.sf.json.JSONObject._processValue(JSONObject.java:2655)
    	at net.sf.json.JSONObject.processValue(JSONObject.java:2721)
    	at net.sf.json.JSONObject.setInternal(JSONObject.java:2736)
    	at net.sf.json.JSONObject.setValue(JSONObject.java:1424)
    	at net.sf.json.JSONObject.defaultBeanProcessing(JSONObject.java:765)
    	at net.sf.json.JSONObject._fromBean(JSONObject.java:699)
    	at net.sf.json.JSONObject.fromObject(JSONObject.java:172)
    	at net.sf.json.JSONObject.fromObject(JSONObject.java:134)
    

    本人报错原因是:
    因为bean里有Date字段,且从数据库里读出来的是java.sql.Date赋值给了java.util.Date.转化成JSONArray时出错
    解决办法:
    1.将不适用Date类型,使用String类型
    2.将java.sql.Date 转换为 java.util.Date类型

    展开全文
  • 1、错误描述 java.lang.ClassCastException: net.sf.json.JSONNull cannot be cast to net.sf.json.JSONObject at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) at org.spring...

    1、错误描述

     java.lang.ClassCastException: net.sf.json.JSONNull cannot be cast to net.sf.json.JSONObject
    	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
    	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708)
    	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
    	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
    	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
    	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
    	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:498)
    	at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
    	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
    	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
    	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749)
    	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689)
    	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)
    	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:938)
    	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870)
    	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)
    	at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:863)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
    	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    	at org.eclipse.jetty.continuation.ContinuationFilter.doFilter(ContinuationFilter.java:137)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    	at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:123)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
    	at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
    	at core.security.CRPAuthenticationFilter.doFilterInternal(CRPAuthenticationFilter.java:346)
    	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
    	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
    	at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
    	at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
    	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
    	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
    	at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
    	at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
    	at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
    	at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
    	at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
    	at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
    	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
    	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)
    	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
    	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    	at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:44)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:436)
    	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
    	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625)
    	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    	at java.lang.Thread.run(Thread.java:748)

    2、错误原因

           这个错误是显而易见的,类型转换错误;由于json字符串为null,转换成json对象时会报错


    3、解决办法

    (1)在json转换成对象前,判断json字符串是否为空

             if(json)

              {

                  //转换

              }


    (2)在前端传到后台时,前端检测这个json字符串

    展开全文
  • 这段时间工作用到json比较多,于是系统的将net.sf.json.JSONArray与net.sf.json.JSONObject中的方法学习了一遍,下面贴出代码,其中用问号标注出来的就是暂时没有懂的地方(后面改进),有不足的地方还请指出谢谢,...

    这段时间工作用到json比较多,于是系统的将net.sf.json.JSONArray与net.sf.json.JSONObject中的方法学习了一遍,下面贴出代码,其中用问号标注出来的就是暂时没有懂的地方(后面改进),有不足的地方还请指出谢谢,纯手写原创,可以任意转载但请标明出处。

    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.Map;
    import java.util.Properties;
    
    import com.origin.entity.Index;
    
    import net.sf.json.JSONArray;
    import net.sf.json.JSONObject;
    
    /**
     * 测试jsonObject的用法
     * 
     * @author utsc1243
     * @date 2019年5月10日
     */
    public class TestJson {
    	static Properties properties = new Properties();
    
    	public static void main(String[] args) {
    		String str = testStr();
    		System.out.println(str);
    		Map<String,String> map = new HashMap<String, String>();
    		map.put("name", "Woodie");
    		
    		// 将对象转化成jsonObject的对象
    		JSONObject jsonObject = JSONObject.fromObject(str);
    		
    		// 根据key值从jsonObject中获取一个jsonObject对象
    		// JSONObject jsonData = jsonObject.getJSONObject("data");
    		JSONObject jsonData = jsonObject.optJSONObject("data");
    		
    		// 根据key值从jsonObject中获取一个JSONArray的对象, getXXX没有对应的key会报错,optXXX返回默认值
    		// JSONArray jsonIndexArray = jsonData.getJSONArray("index");
    		JSONArray jsondaily = jsonData.optJSONArray("daily");
    		
    		// 根据key值从jsonObject中获取一个String字符串对象
    		// String msg = jsonObject.getString("msg");
    		// optXXX与getXXX的区别:opt中调用的时候出现异常会返回
    		// Object object = jsonData.optString("city");默认值、
    		
    		// discard与remove底层源码几乎是一样的,返回值不同,
    		// discard是返回移除之后剩下的键值对,remove返回的是移除键值对中的值
    		// JSONObject removeObject = jsonObject.discard("data");
    		// Object removeObject = jsonObject.remove("data");
    		
    		// 累计值;如果键存在那么值会叠加在后面
    		// jsonData.accumulate("city", "广州");
    		
    		// element put 都是向json字符串中添加键值对
    		// 在源码中 put方法调用的是element来处理数据,put 比element多了一层校验
    		// jsonData.element("city", "广州");
    		// jsonData.put("city", true);
    		
    		// 清空json中的数据
    		// jsonData.clear();
    		
    		// 判断jsonObject中是否有该键
    		// jsonData.has("date");
    		
    		// 求json中的键值对的多少
    		// int jsonSize = jsonObject.size();
    		
    		// 两个jsonObject对象进行比较,源码中比较二者的键值对的多少,返回-1、0、1
    		// int isMore = jsonObject.compareTo(jsonData);
    		
    		// 直接将一个键值对存放进入jsonobject对象中
    		// jsonObject.accumulateAll(map);
    		
    		
    		// 判断jsonObject对象中是否存在key这个键
    		// 源码中都使用map中的 containsKey(key)方法,has中会使用verifyIsNull()进行校验,containsKey中不会进行校验
    		// jsonObject.containsKey("data");
    		// jsonObject.has("data");
    		
    		// 判断jsonObject中是否有这个值,源码调用Map中的containsValue方法
    		// jsonData.containsValue("深圳");
    		
    		// 将数据转换成set集合类型的数据
    		// jsonData.entrySet();
    		
    		// 比较json数据是否相同
    		// jsonData.equals(jsonData);
    		
    		// 判断该json数据是否是数组类型的json数据
    		// jsonData.getJSONArray("index").isArray();
    		
    		// 判断该json数据是否为空
    		// jsonData.clear();
    		// jsonData.isEmpty();
    		
    		// ???不太明白
    		// jsonData.isNullObject();
    		
    		// 迭代出json中的key
    		// @SuppressWarnings("unchecked")
    		// Iterator<String> keys = jsonData.keys();
    		// while(keys.hasNext()){
    		//     System.out.println(keys.next());
    		// }
    		
    		// 返回所有的key 的set集合
    		// @SuppressWarnings("unchecked")
    		// Set<String> keySet = jsonData.keySet();
    		// 返回返回的key的集合,集合中带引号,names源码中调用了keys()获取key, 然后通过element将数据添加到集合中去
    		// JSONArray names = jsonData.names();
    		// 传入names(JSONObject调用names方法获取到names的JSONArray) 返回返回键的value 
    		// 注:必须是jsonObject.ToJSONArray() 调用的参数必须是 jsonObject.names不能是其它的,
    		// JSONArray values = jsonObject.toJSONArray(jsonObject.names());
    		// System.out.println(arr);
    		
    		// values()返回键值对中返回值的collection集合, 注意这里转化为arraylist的方法, 源码调用Map的values方法
    		// @SuppressWarnings("unchecked")
    		// ArrayList<JSONObject> arr = new ArrayList<JSONObject>(jsonObject.values());
    		// for (int i = 0; i < arr.size(); i++) {
    		// 		System.out.println(arr.get(i));
    		// }
    		
    		// ???????????????????????io中 writer中用法
    		// jsonObject.write();
    		
    		// 将json转化为特定换类
    		// jsonObject = JSONObject.fromObject("{id:101,name:'mack',age:17,sex:'1'}");
    		// Student stu = (Student) JSONObject.toBean(jsonObject, Student.class);
    		
    		/*
    		// 定义一个map集合存放class, 用于作为参数
    		Map<String, Object> classMap = new HashMap<String, Object>();
    		// 这里需要转化的参数一定需要与json字符串中的一致,例:"index" 不能是"indexs" Data类中也必须是index
    		// 将转换使用到的类的class放入classMap中, 这里可以不将toBean(json, class, map)中的class放入map中去
    		classMap.put("data", Data.class);
    		classMap.put("pm25", PM25.class);
    		classMap.put("index", Index.class);
    		classMap.put("daily", Daily.class);
    		Data data = (Data) JSONObject.toBean(jsonData, Data.class, classMap);
    		PM25 pm25 = data.getPm25();
    		ArrayList<Index> indexs = (ArrayList<Index>) data.getIndex();
    		*/
    		
    		// ------------------------------------------------------------------
    		// 操作JSONArray
    		// 数组类型的json字符串
    		String jsonStr = jsondaily.toString();
    		System.out.println(jsonStr);
    		
    		// 将字符串转化为JSONOArray对象
    		// JSONArray daily = JSONArray.fromObject(jsonStr);
    		
    		// 计算维度,返回值与长度一样,
    		// int [] dimension = JSONArray.getDimensions(daily);
    		
    		JSONArray indexs = jsonData.optJSONArray("index");	
    		// 将jsonArray对象转化为指定的对象数组
    		// Index [] indexs = (Index[]) JSONArray.toArray(index, Index.class);
    		// 将jsonArray对象转化为指定的对象集合
    		// @SuppressWarnings("unchecked")
    		 ArrayList<Index> indexList = (ArrayList<Index>) JSONArray.toCollection(indexs, Index.class);
    		
    		// 向JSONArray对象中快速添加一个相同的对象json数据
    		 Index newIndex = new Index();
    		 newIndex.setName("呵呵");
    		 newIndex.setLevel("你想说什么");
    		 newIndex.setMsg("建议用露质面霜打底,水质无油粉底霜,透明粉饼,粉质胭脂。");
    		// 这里的不能是JSONArray.fromObject(newIndex),否则存入的是一个数组形式的数据
    		 JSONObject json = JSONObject.fromObject(newIndex);//将java对象转换为json对象
    		// 添加数据,下面二者没有区别,element()方法中就是调用的add()方法
    		// indexs.add(json);
    		// indexs.element(json);
    		
    		// 会将所有的indexList中的数据以json字符串的形式传入josnArray对象中
    		// indexs.addAll(indexList);
    		
    		// 清空目标json中的数据
    		// indexs.clear();
    		 
    		// 比较两个JSONArray的size的大小 , <= 时返回 -1 内容相等时为0  > 时为1
    		// jsondaily.compareTo(indexs);
    		
    		// 传入一个对象,判断该jsonArray对象中是否有该对象转化而成的json数据
    		// indexs.contains(newIndex); 
    		// 传入一个集合,判断该jsonArray对象中是否有该 对象转化而成的json数据
    		// indexs.containsAll(indexList);
    		
    		// 根据下标移除其中的数据,
    		// indexs.discard(0);
    		// indexs.remove(0);
    		// 移除一个对象,但是没有验证成功, 需要去学习List集合的remove(Object 0);
    		// indexs.remove(newIndex);
    		
    		// 根据下标获取单个数据
    		// indexs.get(0);
    		
    		
    		// 获取jsonArray中的第多少个,获取到返回的值是
    		// indexs.element(true);
    		// indexs.getBoolean(indexs.size()-1);
    		
    		// 当前对象 的hashCode值
    		// indexs.hashCode();
    		
    		// 传入一个对象,返回列表元素第一次出现的索引
    		// indexs.indexOf(true);
    		// 传入一个对象没有达到预期效果
    		// indexs.add(newIndex);
    		// 返回最后出现的索引, 源码调用的是List中的lastIndexOf()方法
    		// indexList.lastIndexOf(true);
    		
    		// 判断是否为数组
    		// indexs.isArray();
    		
    		// 判断是否为空
    		// indexs.isEmpty();
    		
    		// ????????
    		// indexs.isExpandElements();
    		
    		// 返回此JSONArray的迭代器
    		// Iterator<JSONObject> it = indexs.iterator();
    		// 返回此JSONArray的迭代器,源码中与iterator调用的是同一个方法
    		// Iterator<JSONObject> it = indexs.listIterator(1);
    		
    		// 将字符串插入到各个元素*之间,最终返回字符串
    		// String indexsJoinStr = indexs.join("________");
    		
    		// optXXX方法同 getXXX optXXX更加安全
    		// indexs.optString(0);
    		
    		// 移除jsonArray对象中所包含换collection集合
    		// indexs.addAll(jsondaily);
    		
    		// 将第几位设置为什么数据
    		// indexs.set(0, true);
    		
    		// 转化为字符串传入参数可以控制json的样式
    		// indexs.toString(1);
    		 
    		// 给jsonArray中的数据加上一个名字
    		// String names = "[\"1\",\"2\",\"3\",\"4\",\"5\"]";
    		// JSONArray temp = JSONArray.fromObject(names);
    		// JSONObject jObject = indexs.toJSONObject(temp);
    		
    		// ----------------------------------------------
    		
    	}
    
    	public static String testStr() {
    		return "{\r\n" + "  \"data\": {\r\n" + "    \"city\": \"深圳\",\r\n" + "    \"temphigh\": \"25\",\r\n"
    				+ "    \"templow\": \"19\",\r\n" + "    \"updatetime\": \"2017-11-04 13:23:00\",\r\n"
    				+ "    \"tempnow\": \"24\",\r\n" + "    \"sendibletemp\": \"27\",\r\n"
    				+ "    \"winddirect\": \"东北风\",\r\n" + "    \"windpower\": \"2级\",\r\n"
    				+ "    \"humidity\": \"42\",\r\n" + "    \"sunrise\": \"06:29\",\r\n" + "    \"sunset\": \"17:45\",\r\n"
    				+ "    \"weather\": \"多云\",\r\n" + "    \"week\": \"星期六\",\r\n" + "    \"nl\": null,\r\n"
    				+ "    \"date\": \"2017-11-04\",\r\n" + "    \"index\": [\r\n" + "      {\r\n"
    				+ "        \"name\": \"化妆指数\",\r\n" + "        \"level\": \"控油\",\r\n"
    				+ "        \"msg\": \"建议用露质面霜打底,水质无油粉底霜,透明粉饼,粉质胭脂。\"\r\n" + "      },\r\n" + "      {\r\n"
    				+ "        \"name\": \"感冒指数\",\r\n" + "        \"level\": \"易发\",\r\n"
    				+ "        \"msg\": \"感冒容易发生,少去人群密集的场所有利于降低感冒的几率。\"\r\n" + "      },\r\n" + "      {\r\n"
    				+ "        \"name\": \"洗车指数\",\r\n" + "        \"level\": \"不宜\",\r\n"
    				+ "        \"msg\": \"雨(雪)水和泥水会弄脏您的爱车,不适宜清洗车辆。\"\r\n" + "      },\r\n" + "      {\r\n"
    				+ "        \"name\": \"穿衣指数\",\r\n" + "        \"level\": \"舒适\",\r\n"
    				+ "        \"msg\": \"白天温度适中,但早晚凉,易穿脱的便携外套很实用。\"\r\n" + "      },\r\n" + "      {\r\n"
    				+ "        \"name\": \"紫外线强度指数\",\r\n" + "        \"level\": \"弱\",\r\n"
    				+ "        \"msg\": \"辐射较弱,涂擦SPF12-15、PA+护肤品。\"\r\n" + "      },\r\n" + "      {\r\n"
    				+ "        \"name\": \"运动指数\",\r\n" + "        \"level\": \"不适宜\",\r\n"
    				+ "        \"msg\": \"受到阵雨天气的影响,不宜在户外运动。\"\r\n" + "      }\r\n" + "    ],\r\n" + "    \"pm25\": {\r\n"
    				+ "      \"aqi\": 0,\r\n" + "      \"co\": 8,\r\n" + "      \"o3\": 42,\r\n" + "      \"pm10\": 63,\r\n"
    				+ "      \"pm2_5\": 64,\r\n" + "      \"quality\": \"良\",\r\n" + "      \"so2\": 4,\r\n"
    				+ "      \"no2\": 11,\r\n" + "      \"updatetime\": \"2017-11-04 13:00:00\"\r\n" + "    },\r\n"
    				+ "    \"daily\": [\r\n" + "      {\r\n" + "        \"date\": \"2017-11-04\",\r\n"
    				+ "        \"week\": \"星期六\",\r\n" + "        \"sunrise\": \"06:29\",\r\n"
    				+ "        \"sunset\": \"17:45\",\r\n" + "        \"temphigh\": \"25\",\r\n"
    				+ "        \"templow\": \"19\",\r\n" + "        \"weather\": \"多云\"\r\n" + "      },\r\n"
    				+ "      {\r\n" + "        \"date\": \"2017-11-05\",\r\n" + "        \"week\": \"星期日\",\r\n"
    				+ "        \"sunrise\": \"06:29\",\r\n" + "        \"sunset\": \"17:45\",\r\n"
    				+ "        \"temphigh\": \"26\",\r\n" + "        \"templow\": \"19\",\r\n"
    				+ "        \"weather\": \"多云\"\r\n" + "      },\r\n" + "      {\r\n"
    				+ "        \"date\": \"2017-11-06\",\r\n" + "        \"week\": \"星期一\",\r\n"
    				+ "        \"sunrise\": \"06:29\",\r\n" + "        \"sunset\": \"17:45\",\r\n"
    				+ "        \"temphigh\": \"27\",\r\n" + "        \"templow\": \"20\",\r\n"
    				+ "        \"weather\": \"多云\"\r\n" + "      },\r\n" + "      {\r\n"
    				+ "        \"date\": \"2017-11-07\",\r\n" + "        \"week\": \"星期二\",\r\n"
    				+ "        \"sunrise\": \"06:29\",\r\n" + "        \"sunset\": \"17:45\",\r\n"
    				+ "        \"temphigh\": \"28\",\r\n" + "        \"templow\": \"21\",\r\n"
    				+ "        \"weather\": \"多云\"\r\n" + "      },\r\n" + "      {\r\n"
    				+ "        \"date\": \"2017-11-08\",\r\n" + "        \"week\": \"星期三\",\r\n"
    				+ "        \"sunrise\": \"06:29\",\r\n" + "        \"sunset\": \"17:45\",\r\n"
    				+ "        \"temphigh\": \"29\",\r\n" + "        \"templow\": \"22\",\r\n"
    				+ "        \"weather\": \"多云\"\r\n" + "      },\r\n" + "      {\r\n"
    				+ "        \"date\": \"2017-11-09\",\r\n" + "        \"week\": \"星期四\",\r\n"
    				+ "        \"sunrise\": \"06:29\",\r\n" + "        \"sunset\": \"17:45\",\r\n"
    				+ "        \"temphigh\": \"28\",\r\n" + "        \"templow\": \"22\",\r\n"
    				+ "        \"weather\": \"多云\"\r\n" + "      },\r\n" + "      {\r\n"
    				+ "        \"date\": \"2017-11-03\",\r\n" + "        \"week\": \"星期五\",\r\n"
    				+ "        \"sunrise\": \"06:29\",\r\n" + "        \"sunset\": \"17:45\",\r\n"
    				+ "        \"temphigh\": \"28\",\r\n" + "        \"templow\": \"18\",\r\n"
    				+ "        \"weather\": \"晴\"\r\n" + "      }\r\n" + "    ]\r\n" + "  },\r\n" + "  \"status\": 0,\r\n"
    				+ "  \"msg\": \"ok\"\r\n" + "}";
    	}
    
    }
    


    需要用到的实体类Student

    这里没有写getter and Setter请自己添加(后面的实体类也是如此)

    import java.util.List;
    
    public class Student {
    	Long id;
    	String name;
    	Integer age;
    	String sex;
    }
    

    需要用到的实体类PM25

    package com.origin.entity;
    
    /**
     * 
     * @author utsc1243
     * @date 2019年5月20日
     */
    public class PM25 {
    	Integer aqi;
    	Integer co;
    	Integer o3;
    	Integer pm10;
    	Integer pm2_5;
    	String quality;
    	Integer so2;
    	Integer no2;
    	String updatetime;
    }
    

    需要的实体类Index

    package com.origin.entity;
    
    /**
     * 
     * @author utsc1243
     * @date 2019年5月20日
     */
    public class Index {
    	String name;
    	String level;
    	String msg;
    }
    

    需要的实体类data

    package com.origin.entity;
    
    import java.util.List;
    
    public class Data {
    	String city;
    	String temphigh;
    	String templow;
    	String updatetime;
    	String tempnow;
    	String sendibletemp;
    	String winddirect;
    	String windpower;
    	String humidity;
    	String sunrise;
    	String sunset;
    	String weather;
    	String week;
    	String nl;
    	String date;
    	List<Index> index;
    	PM25 pm25;
    	List<Daily> daily;
    }
    

    需要的实体类daily

    package com.origin.entity;
    
    /**
     * 
     * @author utsc1243
     * @date 2019年5月20日
     */
    public class Daily {
    	private String date;
    	private String week;
    	private String sunrise;
    	private String sunset;
    	private String temphigh;
    	private String templow;
    	private String weather;
    }
    

     

    展开全文
  • net.sf.json

    2019-07-16 11:01:13
    import net.sf.json.JSONArray; import net.sf.json.JSONObject; import net.sf.json.JsonConfig; // list(值) 转 json List list //已经赋值 JsonConfig config = new JsonConfig(); //排除其他属性 ...

    import net.sf.json.JSONArray;
    import net.sf.json.JSONObject;
    import net.sf.json.JsonConfig;

    // list 转 json
    List list //已经赋值
    JsonConfig config = new JsonConfig();
    //排除其他属性
    config.setExcludes(new String[]{“grade”, “studentList”});
    String result = JSONArray.fromObject(list, config).toString();
    response.getWriter().write(result);

    // list 转 json
    List<Map<String, Object>> list
    //格式化Map,以json格式返回数据
    String result = JSONArray.fromObject(list).toString();

    list / 数组 JSONArray.fromObject()

    // map 转 json
    //定义Map
    Map<String, Object> jsonMap = new HashMap<String, Object>();
    //total键 存放总记录数,必须的
    jsonMap.put(“total”, total);
    //rows键 存放每页记录 list
    jsonMap.put(“rows”, list);
    //格式化Map,以json格式返回数据
    String result = JSONObject.fromObject(jsonMap).toString();
    response.getWriter().write(result);

    Bean / map JSONObject.fromObject()

    展开全文
  • 解决net.sf.json包json化后,对象系列化时net.sf.json.JSONNull[“empty”]错误 一、问题描述 前端(使用angularjs的架构)调用后台接口后显示404,看后台日志接口已经请求成功了。所以有两点就很奇怪了: 一是请求了...
  • 最近运营反馈偶尔有一两笔订单出现卡单,无法充值的问题。正好今天不是很忙就和同事一起定位问题。因为是一个比较老的项目,可能当时开发人员...import net.sf.json.JSONObject; public class JsonTest { public s
  • 解决net.sf.json.JSONObject

    2018-10-17 09:31:51
    解决net.sf.json.JSONObject 解决net.sf.json.JSONObject
  •  Object is null (through reference chain: net.sf.json.JSONArray[0]->net.sf.json.JSONObject["data"]->net.sf.json.JSONNull["empty"]) 描述:出现这个错误的原因是...
  • net.sf.json-lib&lt;/groupId&gt; &lt;artifactId&gt;json-lib&lt;/artifactId&gt; &lt;version&gt;2.4&lt;/version&gt; &lt;classifier&gt;jdk15&lt;/
  • 当引入net.sf.json时,会报Missing artifact net.sf.json-lib:json-lib:jar:2.4错误 <!-- https://mvnrepository.com/artifact/net.sf.json-lib/json-lib --> <dependency> <groupId>...
  • net.sf.json jar.zip

    2020-06-06 11:08:39
    JSON(net.sf.json.JSONArray) jar包:net.sf.json.JSONArray等JSON类所需要的jar包组合。
  • 原文地址:https://www.programcreek.com/java-api-examples/index.php?api=net.sf.json.JSONNull 以下是使用net.sf.json.JSONNull的示例。 示例1: /** * {@inheritDoc} */ @Override protected void execute...
  • 一、创建json对象 org.json.JSONObject: ...net.sf.json.JSONObject: JSONObject json = JSONObject.fromObject(str);二、解析json 直接用json对象.getXXX();方法获取 net.sf.json.JSONObject: 没有严...
  • 参考 net.sf.json.JSONObject 和org.json.JSONObject 的差别 转载于:https://www.cnblogs.com/liuyp-ken/p/5509052.html
  • net.sf.json.JSONObject需要的jar包 -- net.sf.json.JSONObject需要的jar包
  • 其实,出现fromObject没有被定义,是因为json有两个包,就是net.sf.json和org.json。在使用json的过程中,会有包的导入。  看你选择导入的包,如果选择的是org.json.json这个包,就会出现undefined。 下面是...
  • net.sf.json.zip

    2019-08-27 11:49:51
    Java json工具类,主要是方便自己查找,里面包含了net.sf.json相关jar
  • net.sf.json.JSONObject相关jar包
  • [code="java"] import java.lang.reflect.Field; import java.text.SimpleDateFormat; import java.util.Collection; import java.util.Date; import java.util.Locale;...import net....
  • Java的net.sf.json.JSONObject , 发现Maven仓库找不到, 特意上传供大家分享
  • net.sf.json.rar

    2020-03-27 16:39:57
    json的jar包很多,并且依赖包大多不明确,使用过程中经常出现缺少jar包导致程序执行过程中报错的情况。今整理net.sf.json相关依赖包,亲测可用
  • net.sf.json.JSONObject 和org.json.JSONObject 的差别。一、创建json对象String str = "{\"code\":\"0000\", \"msg\":{\"availableBalance\":31503079.02}}org.json...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,388
精华内容 1,755
关键字:

net.sf.json