gson解析json

使用google-gson类库解析json文件

跟風遠走 提交于 2019-11-27 00:15:55
使用google-gson类库解析json文件 使用JsonParser解析器来解析字符串和输入流,变成json对象 代码如下: public class Readjson { public static void main(String[] args) { try { JsonParser parser=new JsonParser(); JsonObject object=(JsonObject) parser.parse(new FileReader("test.json")); System.out.println(object.get("cat").getAsString()); System.out.println(object.get("pop").getAsBoolean()); JsonArray languages=object.get("language").getAsJsonArray(); for(int i=0;i<languages.size();i++){ System.out.println("*************"); JsonObject lan=languages.get(i).getAsJsonObject(); System.out.println("id="+lan.get("id").getAsInt()); System

Android解析带转义符的JSON

流过昼夜 提交于 2019-11-26 23:40:34
最近几天写Android写的有点儿癫疯状态,下午在获取远程服务器的JSON字符串儿的时候遇到了个问题,就是从服务器返回的JSON带了转义符,也就是反斜杠,然后JSON就死活解析不了了,大致上返回来的是这个样子的: 然后再Android中就直接原封不动的赋值给了一个字符串儿变量,然后再用JSON解析的时候就错了,解析不了,因为反斜杠不光反了斜杠,还特别反人类。。。但是,如果把页面返回的结果整个儿拷贝出来,然后赋值给一个字符串儿变量,解析就是完全正常的,所以百思不得其解,群内一个兄弟说,你这么着吧,把反斜杠替换为空,然后掐头去尾干掉两头儿的引号,再重新赋值回去,应该就可以了。不过在此期间就是还犯了一个低级错误,就是直接在原先的字符串儿上操作了,这个错误实在低级到无法忍受了,因为这几天是python和java一块儿写,我还美滋滋的觉得我还能记得java的字符串儿不同于python是可以原地操作的,就这我还巴巴的美呢!!结果被这哥们儿给鄙视了一下,说你来个中间变量啊,于是问题圆满解决。 不过写博客不上代码也实在是无法忍受,代码简单,直接就来个简单的处理代码吧: 1 2 3 4 5 6 7 8 9 10 11 12 13 // 从服务器端获取Json字符串 String backlogJsonStr = HttpUtils.getByHttpClient(Backlog.this

JSON笔记

▼魔方 西西 提交于 2019-11-26 17:55:44
1. JSON概述 JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。 JSON 具有自我描述性,更易理解 2. JSON语法 JSON 语法是 JavaScript 语法的子集。 2.1 JSON语法规则 JSON 语法是 JavaScript 对象表示语法的子集。 数据在名称/值对中 数据由逗号分隔 大括号保存对象 中括号保存数组 2.2 JSON 的键值对 名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值: “key” :value value可以是(javascript中数据类型): 2.2.1数字(整数或浮点数) { "age" : 30 } 2.2.2 字符串(在双引号中) { "age" : “30” } 2.2.3 逻辑值(true 或 false) { "age" : true/false } 2.2.4 数组(在中括号中) { "sites" : [         { "key1" : value , "key2"

ajax与json

蹲街弑〆低调 提交于 2019-11-26 11:14:36
1.jquery中调用ajax方法 $.ajax({ async:true, type:"post", url:"xxxServlet", data:{"account":"jack","pwd":"123"}, success:function(data){ //dowork }, //error:function(){alert("error!");}, dataType:"json" }); 注:指定dataType为json时,不要用var obj = eval("("+data+")");去再次解析,会报错 2.json格式 1.json对象 {key:value,key:value} {"name":"jack","sex":"男","age":"25"} 2.json数组或集合格式 [{key:value,key:value},{key:value,key:value}] [{"name":"jack","sex":"男","age":"25"}, {"name":"tom","sex":"男","age":"26"}] 3.json对象,数组嵌套 { "param":[{key:value,key:value},{key:value,key:value}] } { "param1":[{key:value,key:value},{key:value,key