jsonobject

Java发送POST请求,参数为JSON格式,并接收返回JSON数据

匿名 (未验证) 提交于 2019-12-02 21:52:03
原文地址:https://blog.csdn.net/qq_26975307/article/details/82713725/** * 发送post请求 * @param url 路径 * @param jsonObject 参数(json类型) * @param encoding 编码格式 * @return * @throws ParseException * @throws IOException */ public static String send(String url, JSONObject jsonObject,String encoding) throws ParseException, IOException{ String body = ""; //创建httpclient对象 CloseableHttpClient client = HttpClients.createDefault(); //创建post方式请求对象 HttpPost httpPost = new HttpPost(url); //装填参数 StringEntity s = new StringEntity(jsonObject.toString(), "utf-8"); s.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,

java复制对象之深拷背

匿名 (未验证) 提交于 2019-12-02 21:45:52
在java开发中,有时我们需要复制对象,并且确保修改复制得到的对象不会影响原来的对象。 于是,有些人可能会写出类似以下的代码: public class CloneTest { public static void main(String[] args) { JSONObject paramJson= new JSONObject(); paramJson.put("age",26); paramJson.put("name","lin"); JSONObject cloneJson= paramJson; cloneJson.put("test",27); System.out.println("paramJson:"+paramJson.toString()); System.out.println("cloneJson:"+cloneJson.toString()); } } 运行结果为: paramJson:{"age":27,"name":"lin"} cloneJson:{"age":27,"name":"lin"} 发现赋值得到的对象改变时,原来的对象也随之改变。 在 值传递与引用传递 中已经讲到, 引用类型传参或赋值,新的对象改变时,原来的对象也会改变。 那么,如何确保修改复制得到的新对象不会影响原来的对象呢? 复制对象,修改新对象不会影响原来的对象

java_获取指定ip的定位

匿名 (未验证) 提交于 2019-12-02 21:38:03
因为自己网站后台做了一个进站ip统计,之前只是获取了ip,这次优化了下,把ip的大致区域弄出来了 废话不多说,进正题 首先要用到几个网络大头的api 淘宝API:http://ip.taobao.com/service/getIpInfo.php?ip=218.192.3.42新浪API:http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=218.192.3.42pconline API:http://whois.pconline.com.cn/百度API:http://api.map.baidu.com/location/ip?ip=218.192.3.42接下来用json解析返回的数据就好下面直接上解析源码(不是网站的源码,是之前java测试的源码,原理一样) package exe; import net.sf.json.JSONObject; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.util.Scanner; /**

Java遍历Json数据

匿名 (未验证) 提交于 2019-12-02 21:35:18
今天需要遍历一下json,但是只查到了遍历一层json的文章,满足不了多层级的json遍历。所以自己写一下,用fastJson处理。 public class JsonLoop { public static String json = "{\"TITLE\":\"Json Title\",\"FORM\":{\"USERNAME\":\"Rick and Morty\"},\"ARRAY\":[{\"FIRST\":\"Rick\"},{\"LAST\":\"Morty\"}]}"; public static void jsonLoop(Object object) { if(object instanceof JSONObject) { JSONObject jsonObject = (JSONObject) object; for (Map.Entry<String, Object> entry: jsonObject.entrySet()) { Object o = entry.getValue(); if(o instanceof String) { System.out.println("key:" + entry.getKey() + ",value:" + entry.getValue()); } else { jsonLoop(o); } } } if

String转成JSON的实现

匿名 (未验证) 提交于 2019-12-02 20:56:53
这个依赖很重要,我们将围绕 fastjson 中的 JSONObject 这个类来谈转换 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.15</version> </dependency> String转成JSON String json = "{\"abc\":\"1\",\"hahah\":\"2\"}"; JSONObject jsonObject = JSONObject.parseObject(content); 一句话就能解决,非常便捷。 想要取出值,可以对`jsonObject`进行操作: jsonObject.getString("abc"); 结果为:`1` 将String转为list后转为JSON 将String转为map后转为JSON 特别注意: 从JSONObject中取值,碰到了数字为key的时候,如 { "userAnswer": { "28568": { "28552": { "qId": "28552", "order": "1", "userScore": { "score": 100 }, "answer": { "28554": "28554" }, "qScore": "100.0", "qtype":

JSONObject.parseObject

匿名 (未验证) 提交于 2019-12-02 20:37:20
{ } 将上面的json字符串转换为JSONObject之后可能会出现顺序不一样,即在JSONObject中,可能是下面的顺序: "shop_uid":"123"; 为了保证顺序一样,可以用: JSONObject jsonObject = JSONObject.parseObject(dataString, Feature.OrderedField); 后面加上参数: Feature.OrderedField 文章来源: JSONObject.parseObject

Display json data to list view

左心房为你撑大大i 提交于 2019-12-02 20:15:48
问题 I am trying to display data from JSON array to ListView . But it gives me an exception: org.json.JSONException: Value [{"fine_id":"51771","street":"Tom Mboya","area":"Uptown","car_no":"MP08MF3299"}] of type org.json.JSONArray cannot be converted to JSONObject . Where I am doing mistake please help me to fix it the problem 08-21 08:33:54.640: E/JSON(943): [ { "car_no":"MP08MF3299" ,"fine_id":"51771" ,"area":"Uptown" ,"street":"Tom Mboya" } ] 08-21 08:33:54.640: D/Response:(943): [{"car_no":

JAVA解析json--------json-simple

删除回忆录丶 提交于 2019-12-02 19:43:08
2019-10-29 18:53:13 一丶概览   json-simp是一个方便java的json处理,提供了解码或编码json的功能 二丶功能    . 使用轻量级的库来解码/解析和转换JSON文本   . 灵活,简单并且易于被Map和List接口重用;   . 支持流式的JSON文本输出;   . 高性能;    . 不依赖其它的库;    . 所有的代码和执行文件都和JDK 1.2兼容    .支持json数组的解码和编码 三丶使用   1.创建一个java工程       .在工程中导入 json-simple 的jar包       .右键工程选build path       然后点configure....       .或者直接使用maven导入         <dependency>           <groupId>com.googlecode.json-simple</groupId>           <artifactId>json-simple</artifactId>           <version>1.1.1</version>         </dependency>    2.解析json数据     . 普通json解析    package com.lxl.learn.json; import org.json.simple

首页报表数据展示(一)

喜欢而已 提交于 2019-12-02 19:38:58
package com.sf.dangbao.core.controller;import com.alibaba.fastjson.JSONObject;import com.sf.dangbao.core.constant.CommonConstant;import com.sf.dangbao.core.entity.PaperUser;import com.sf.dangbao.core.service.DistributionTaskService;import com.sf.dangbao.core.utils.RoleUtils;import io.swagger.annotations.Api;import io.swagger.annotations.ApiImplicitParam;import io.swagger.annotations.ApiImplicitParams;import io.swagger.annotations.ApiOperation;import org.apache.logging.log4j.LogManager;import org.apache.logging.log4j.Logger;import org.springframework.beans.factory.annotation.Autowired;import

Java服务MQ消息队列容灾方案

烈酒焚心 提交于 2019-12-02 18:58:12
背景介绍 在前一段时间线上出现过一次事故,一个非常重要的消息生产者服务,由于MQ出现问题,消息大量积压,导致了该服务线程被打满,外部请求返回502,服务采用Springboot搭建,使用Springboot的Tomcat容器。 原因分析 消息的生产者服务是一个高并发量的服务,接受外部方的接口调用,并将消息推送至MQ,调用流程示意图如下: 而事故当天的情况是,MQ消息大量积压,基本等同于MQ挂掉, 大量的请求积压在推送消息到MQ的地方,导致外部的大量的请求在Tomcat的线程池积压,当Tomcat的线程池全部被打满后,服务不能再接受新的请求进入,导致抛出大量的502错误。 容灾方案分析 一、发送消息超时时间设定 首先可以想到的是,在MQ发送消息处,设置推送消息的超时时间,超过超时时间,认为消息发送失败,将消息写入文件中,当时这个方案并没有根本上解决,如果MQ挂掉,Tomcat不被打满的问题,虽然可以解决目前的生产场景的情况,但是当后续请求量更大时候,不能保证Tomcat不被打满,同时,消息推送的超时时间的设定也不好进行把握,如果由于网络波动或其他情况,导致消息推送慢,但是是可以推送成功的,但是万一超过了超时时间,消息直接不会发送,反而会影响目前的业务逻辑。 二、调整Tomcat线程池大小 事故的起因是因为Tomcat被打满,那调整Tomcat的线程池大小,调整大一些不就可以了吗