jsonobject

android jsonObject Null Pointer Exception [duplicate]

穿精又带淫゛_ 提交于 2020-01-07 01:23:08
问题 This question already has answers here : What is a NullPointerException, and how do I fix it? (12 answers) Closed 3 years ago . I am new to JSON. I need help. My android studio keeps on telling me that my jsonobject is NULL. I can parse and display my jsonarray into a listview. But when i click the page where i displayed it, my app crashes. Parser class BgTask extends AsyncTask<Void, Void, String> { String json_url; @Override protected void onPreExecute() { json_url = "http://10.0.2.2/result

如何保存HTTPrequestbase和CloseableHttpResponse

自闭症网瘾萝莉.ら 提交于 2020-01-06 21:57:12
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 在测试过程中,有一个重要的工作就是保存记录“现场”,以方便开发人员更快发现BUG解决问题。在接口测试中更是如此,如果开发人员能够根据BUG的信息直接复现请求,是一件很方便的事情。为此我想了一个再框架中增加保存HTTPrequestbase和CloseableHttpResponse两个对象的功能,其中主要是HTTPrequestbase的信息,CloseableHttpResponse以响应内容为主,因为每次请求我都会把必要信息(host,API,HTTP code,响应code,响应时间等等记录)。 下面是更新过的 funrequest 类的代码,更新内容时后面几个静态方法: package com.fun.frame.httpclient import com.fun.base.bean.RequestInfo import com.fun.base.exception.RequestException import com.fun.config.HttpClientConstant import com.fun.config.RequestType import com.fun.frame.Save import com.fun.utils.Time import net.sf.json

JSON.parseObject(String str)与JSONObject.parseObject(String str)的区别

不打扰是莪最后的温柔 提交于 2020-01-06 15:11:36
一、fastjson fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。其主要特点是: ① 快速:fastjson采用独创的算法,将parse的速度提升到极致,超过所有基于Java的json库,包括曾经号称最快的jackson; ② 强大:Fastjson完全支持https://json.org的标准(也是Google官方网站收录的参考实现之一);支持各种JDK类型;包括基本类型、JavaBean、Collection、Map、Enum、泛型等; ③零依赖:没有依赖其它任何类库除了JDK,能够直接运行在Java SE 5.0以上版本;支持 Android ;开源 (Apache 2.0)。 为什么要说fastjson,因为,JSON.parseObject(String str)和JSONObject.parseObject(String str)就是fastjson中的方法。 二、parseObject(String str)的作用 JSON.parseObject(String str)是将str转化为相应的JSONObject对象,其中str是“键值对”形式的json字符串,转化为JSONObject对象之后就可以使用其内置的方法,进行各种处理了。 三、JSON.parseObject(String str

net.sf.json:2.4 性能问题

时光总嘲笑我的痴心妄想 提交于 2020-01-04 15:33:39
起因: 月初这几天,某台服务器cpu频繁满载告警。 由于该台服务器部署了两个应用,一个web,一个后台。在凌晨先后启停服务后确定是后台应用导致。然后后台应用已经跑了很长时间,基本没有出过问题,怎么突然就出问题了呢? 定位: 联系相关开发人员,是最近有个适配改动了十几行代码。我想应该就是这几行代码导致的。和他一起review了他的代码,然而并没有发现代码有什么明显的改动。 去服务器看看, 使用 jps 查看java进程,获取到 pid=31793 ,通过 jmap -histo 31793 > 1.txt 命令将内存中的对象信息输出到文件中, 通过 less 查看发现,有内存中有十几万个该对象,正好,这个对象是改动的代码部分,但是实际考虑数据量及结合代码逻辑,不应该产生这么多对象。 使用 ps -mp 31793 -o THREAD,tid,time 命令获取java进程中各线程对CPU资源的使用情况: 发现,有3个鬼鬼祟祟的线程 tid=31813,31814,31815 占用了大量资源。将tid转换为16进制 printf "%x\n" 31813 16进制thread-id: 7c45 从当前堆栈信息查看此线程 jstack 31793 > 2.txt 然后在 2.txt 文件中搜索 7c45 线程。 可以看到,占用大量资源的线程是在调用 JSONObject billData

B站视频下载(VideoHelper)

狂风中的少年 提交于 2020-01-01 18:51:05
继续上次的知乎爬虫, 这次开始了哔哩哔哩的爬虫实践; 首先介绍下如何下载吧: VideoHelper 里面有三种方式下载b站视频。 同样的流程, 还是先抓包,分析参数,寻找参数(包括之前的请求包和页面源码),找出视频真实地址, 然后在模拟。 抓包是注意几个参数: aid:每个视频都会有对应的 aid, 包括ep类型的; cid:弹幕的id, 通过相关api可由cid找到对应的资源列表 ep_id: 就是地址栏上显示的ep类型的id了 这里详细的流程我就不介绍了(其实我是来宣传 VideoHelper 的,目前还支持知乎等网站视频, 欢迎star。滑稽‘(*>﹏<*)) 其中需要注意的是模拟发包是有些请求头是不能掉的, user-agent我就不说了, 不如Referer; 另外我发现网上目前仅存的b站的视频爬虫好像大多不支持ep类型的, 不过我那个最近测试是支持了的, 但是vip专属的也是会直接报错; 另外注明:该项目参考了you-get的部分api 下面老规矩贴上主要源码: package website; import bean.BilibiliBean; import bean.VideoBean; import org.dom4j.DocumentException; import org.dom4j.io.SAXReader; import org.json

JAVA 判断字符串是否可转化为JSONObject、JSONArray

假如想象 提交于 2020-01-01 15:48:09
有时,我们需要判断字符串在转化为JSON对象或者JSONArray时,我们可以使用JSONObject.parseObject和JSONArray.parseArray,但是有时候我们需要在转化之前判断该字符串是否能够被转化为JSON对象或者数组。由于没有找到较好的方法,只能暂时用以下方法了。 1 /** 2 * 判断字符串是否可以转化为json对象 3 * @param content 4 * @return 5 */ 6 public static boolean isJsonObject(String content) { 7 // 此处应该注意,不要使用StringUtils.isEmpty(),因为当content为" "空格字符串时,JSONObject.parseObject可以解析成功, 8 // 实际上,这是没有什么意义的。所以content应该是非空白字符串且不为空,判断是否是JSON数组也是相同的情况。 9 if(StringUtils.isBlank(content)) 10 return false; 11 try { 12 JSONObject jsonStr = JSONObject.parseObject(content); 13 return true; 14 } catch (Exception e) { 15 return false; 16

JSONObject和JSONArray使用

こ雲淡風輕ζ 提交于 2020-01-01 13:43:40
1.所依赖JAR包 要使程序可以运行必须引入JSON-lib包,JSON-lib包同时依赖于以下的JAR包: commons-lang.jar commons-beanutils.jar commons-collections.jar commons-logging.jar ezmorph.jar json-lib-2.2.2-jdk15.jar 2.Demo 2.1 应用场景: 后台的java类,如实体类、List、Set、Map转成json字符串发送到其它项目或者jsp端 jsp端或者其它项目发送过来的json字符串,需要解析成l实体类、List、Set、Map等java类 2.2 Student实体类 package json; import java.util.Date; import java.util.List; import java.util.Map; import java.util.Set; public class Student { private int id; private String name; private String age; private Date birthDay; private List list; private Set set; private Map map; public int getId() { return id;

JSONObject和JSONArray的简单使用(json-lib)

倖福魔咒の 提交于 2020-01-01 13:43:13
一. jar包 commons-lang.jar commons-beanutils.jar commons-collections.jar commons-logging.jar ezmorph.jar json-lib-2.2.2-jdk15.jar 二. 代码 import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import net.sf.json.JSONArray; import net.sf.json.JSONObject; public class Test { public static void main(String[] args) { new Test().test1(); new Test().test2(); new Test().test3(); new Test().test4(); new Test().test5(); new Test().test6(); new Test().test7(); } /** * JSON字符串转JSONObject对象 */ public void test1() { String jsonStr = "{\"name\":\"ZhangSan\",\"sex\":\

Iterating through json objects received from the server

北城以北 提交于 2019-12-31 04:45:09
问题 I have a large group of json objects received from web server. I want to get all the data from all the json objects. For that How do I iterate through the json object so, that all the values can be stored on arraylist.. This is a sample model of my json object received from server. I need all the data (name and city) in two arraylists. For that how do I loop through the json objects. There is no way of getting the data as json array from the server. That's why I asked here. If it was json

How to escape the quotes in JSON Object?

你说的曾经没有我的故事 提交于 2019-12-30 22:54:08
问题 Below is my method which makes the JSONObject and then print out the JSONString . I am using Google GSON. private String generateData(ConcurrentMap<String, Map<Integer, Set<Integer>>> dataTable, int i) { JsonObject jsonObject = new JsonObject(); Set<Integer> ap = dataTable.get("TEST1").get(i); Set<Integer> bp = dataTable.get("TEST2").get(i); jsonObject.addProperty("description", "test data"); jsonObject.addProperty("ap", ap.toString()); jsonObject.addProperty("bp", bp.toString()); System.out