首先看看2个简单的fastjson的使用
例子一
package ivyy.taobao.com.domain.json; import java.util.Iterator; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; /** * @Author:jilongliang * @Date:2014-12-19 * @Version:1.0 * @Description: */ public class JsonTest1 { public static void main(String[] args) { //[{"age":22,"sex":"男","userName":"xiaoliang"},{"age":22,"sex":"男","userName":"xiaoliang"}] StringBuffer buff=new StringBuffer(); buff.append("["); buff.append("{"); buff.append("'age'").append(":").append("22").append(","); buff.append("'sex'").append(":").append("'男'").append(","); buff.append("'userName'").append(":").append("'周伯通'").append(""); buff.append("}"); buff.append(",");//第一个数组结尾 buff.append("{"); buff.append("'age'").append(":").append("22").append(","); buff.append("'sex'").append(":").append("'男'").append(","); buff.append("'userName'").append(":").append("'令狐冲'").append(""); buff.append("}"); buff.append("]"); String jsonStr=buff.toString(); JSONArray jarr=JSONArray.parseArray(jsonStr);//JSON.parseArray(jsonStr); for (Iterator iterator = jarr.iterator(); iterator.hasNext();) { JSONObject job=(JSONObject)iterator.next(); String age=job.get("age").toString(); System.out.println(age); } } }
例子二
package ivyy.taobao.com.domain.json; import ivyy.taobao.com.entity.Classz; import ivyy.taobao.com.entity.Student; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; /** * @Author:jilongliang * @Date:2014-12-19 * @Version:1.0 * @Description: */ public class JsonTest2 { public static void main(String[] args) { Student stu1=new Student(); stu1.setAge(22); stu1.setUserName("xiaoliang"); stu1.setSex("男"); Classz claz1=new Classz(); claz1.getStudents().add(stu1); String jsonStr=JSON.toJSONString(claz1); JSONObject jsonObj=new JSONObject(); Object obj=jsonObj.parse(jsonStr); System.out.println(obj); Classz clz=JSON.parseObject(jsonStr, Classz.class); Student st=clz.getStudents().get(0); System.out.println(st.getSex()); } }
1和2的实体
package ivyy.taobao.com.entity; import java.io.Serializable; import java.util.ArrayList; import java.util.List; /** *@Author:liangjl *@Date:2014-12-19 *@Version:1.0 *@Description: */ public class Classz implements Serializable{ private List<Student> students=new ArrayList<Student>(); public List<Student> getStudents() { return students; } public void setStudents(List<Student> students) { this.students = students; } }
package ivyy.taobao.com.entity; import java.io.Serializable; /** *@Author:liangjl *@Date:2014-12-19 *@Version:1.0 *@Description: */ public class Student implements Serializable{ private Integer age; private String sex; private String userName; public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } }
例子三、
package ivyy.taobao.com.domain.json; import ivyy.taobao.com.utils.GlobalConstants; import ivyy.taobao.com.utils.HttpRequestUtils; import java.util.Iterator; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; /** *@Author:liangjilong *@Date:2015-1-4 *@Email:jilongliang@sina.com *@Version:1.0 *@Description这个是通过fastjson处理的 */ public class SinaNew { public static void main(String[] args) throws Exception { String requestURL = GlobalConstants.getUrl(2, "json"); String jsonText = HttpRequestUtils.HttpURLConnRequest(requestURL, "GET"); //System.out.println(jsonText); // 处理页面的json数据 int start = jsonText.indexOf("(") + 1; jsonText = jsonText.substring(start, jsonText.lastIndexOf(")")); String result = ""; JSONObject jsonObject = JSONObject.parseObject(jsonText); result = jsonObject.get("result").toString(); JSONObject resObj = JSONObject.parseObject(result); // String encoding=resObj.get("encoding").toString();//获取到编码 String dataStr = resObj.get("data").toString(); JSONArray dataArr = JSONArray.parseArray(dataStr); String title = "", url = "", keywords = "", img = "", media_name = ""; int i=0; for (Iterator iterator = dataArr.iterator(); iterator.hasNext();) { JSONObject object = (JSONObject) iterator.next(); title = object.get("title").toString();// title url = object.get("url").toString();// url keywords = object.get("keywords").toString();// keywords img = object.get("img").toString();// img media_name = object.get("media_name").toString();// media_name String newsText=GlobalConstants.getNewsContent(url);//处理新闻内容 //System.out.println("==================第"+i+"篇=================="+newsText); i++; System.out.println(title + "\n" + url + "\n" + keywords + "\n"+ url + "\n" + media_name); } } }
package ivyy.taobao.com.utils; import java.net.URL; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; /** *@Author:liangjilong *@Date:2015-1-4 *@Email:jilongliang@sina.com *@Version:1.0 *@Description */ public class GlobalConstants { /*** * 获取url连接 * @param page第几页 * @param format格式(XML、JSON) * @return */ public static String getUrl(Integer page,String format){ StringBuffer buffer=new StringBuffer("http://api.roll.news.sina.com.cn/zt_list?channel=news"); String url=""; buffer.append("&cat_1=shxw");//显示新闻 buffer.append("&cat_2==zqsk||=qwys||=shwx||=fz-shyf"); buffer.append("&level==1||=2");//级别 buffer.append("&show_ext=1"); buffer.append("&show_all=1");//显示所有 buffer.append("&show_num=22");//显示多少条 buffer.append("&tag=1"); buffer.append("&format="+format); buffer.append("&page="+page); buffer.append("&callback=newsloader"); url=buffer.toString(); return url; } /*** * 获取文章的内容 * 从新浪的网页分析,通过文章body的id就可以拿到相应的文章内容.. * @param url * @return */ public static String getNewsContent(String url) throws Exception{ Document doc=Jsoup.parse(new URL(url), 3000); if(doc!=null){ String artibody=doc.getElementById("artibody").html();//通过网页的html的id去拿到新闻内容artibody return artibody; }else{ return "网络异常"; } } }
源代码:http://download.csdn.net/detail/jilongliang/8324543
package ivyy.taobao.com.utils; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; /** *@Author:liangjilong *@Date:2015-1-4 *@Email:jilongliang@sina.com *@Version:1.0 *@Description */ public class HttpRequestUtils { /** * 发送http请求 * POST和GET请求都可以 * @param requestUrl 请求地址 * @param method传入的执行的方式 是GET还是POST方式 * @return String */ public static String HttpURLConnRequest(String requestUrl,String method) { StringBuffer buffer = new StringBuffer(); try { URL url = new URL(requestUrl); HttpURLConnection httpUrlConn = (HttpURLConnection) url.openConnection(); httpUrlConn.setDoInput(true); httpUrlConn.setRequestMethod(method); httpUrlConn.setUseCaches(false); httpUrlConn.setInstanceFollowRedirects(true); //重定向 httpUrlConn.connect(); // 将返回的输入流转换成字符串 InputStream inputStream = httpUrlConn.getInputStream(); InputStreamReader inputStreamReader = new InputStreamReader(inputStream, "utf-8"); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); String str = null; while ((str = bufferedReader.readLine()) != null) { buffer.append(str); } bufferedReader.close(); inputStreamReader.close(); // 释放资源 inputStream.close(); inputStream = null; httpUrlConn.disconnect(); } catch (Exception e) { e.printStackTrace(); } return buffer.toString(); } }
源代码:http://download.csdn.net/detail/jilongliang/8328255
相关推荐
Fastjson是阿里巴巴推出的一款Java语言编写的高性能功能完备的JSON库,以其解析速度快、使用简便的特点,在Java开发领域备受青睐。本篇文章将深入探讨Fastjson的原理与使用方法,帮助开发者更好地理解和运用这一强大...
在这个实例中,我们将深入探讨如何使用Fastjson来解析复杂的JSON数据,并通过`JSONTest`这个示例代码来加深理解。 首先,让我们了解什么是JSON。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,...
fastjson 快速解析json json、List互转
这个压缩包“fastjson解析json.rar”显然包含了使用Fastjson进行JSON解析的相关资源,包括fastjson的库文件、示例代码以及可能的数据模型类。下面将详细介绍Fastjson的使用方法以及压缩包中的关键文件。 首先,`...
本示例将探讨如何在Spring Boot项目中集成并使用FastJson来解析JSON数据。 首先,我们需要在项目的`pom.xml`文件中添加FastJson的依赖。Spring Boot本身并未内置FastJson,所以需要手动引入: ```xml <groupId>...
在Java开发中,FastJson是阿里巴巴提供的一款性能极佳的JSON库,它广泛应用于数据解析与序列化。本文将深入探讨FastJson解析Json数据的源码,帮助开发者理解其内部工作机制,提升对JSON处理的效率。 FastJson的核心...
实现json转换,fastjson json json转换,可以帮助开发中涉及json格式处理的程序猿。
首先,我们要讨论的是如何使用Volley和FastJson进行网络Json解析。Volley提供了RequestQueue来管理网络请求,你可以通过NetworkDispatcher线程池处理这些请求。当接收到JSON响应时,可以使用FastJson来解析。...
在Java世界中,有多种库可以帮助我们解析和生成JSON,其中最常用的包括org.json、Google的Gson以及阿里巴巴的FastJson。下面我们将详细探讨这三种JSON解析库的使用方法。 1. **org.json**: org.json是一个开源的...
1. **JSON字符串到Java对象的转换**:FastJson提供了一种简单的方式来将JSON字符串解析成Java对象,例如: ```java String jsonString = "{\"name\":\"John\", \"age\":30}"; Person person = JSON.parseObject...
本篇文章将深入探讨这两个库的使用方法、特点以及在解析JSON时的差异。 **Gson** Gson是由Google开发的Java库,它提供了简单的API来处理JSON数据。Gson的优势在于其强大的类型映射能力,可以自动将Java对象转换为...
在开始解析JSON字符串之前,首先需要将Fastjson的依赖添加到项目中。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml <groupId>com.alibaba</groupId> <artifactId>fastjson <version>1.2.67 ...
在实际开发中,我们经常需要将JSON字符串进行格式化,以便于查看和调试,本文将详细介绍如何使用Fastjson封装一个JSON格式化工具。 首先,我们需要引入Fastjson的依赖。如果你使用的是Maven,可以在pom.xml文件中...
在提供的`FastjsonDemo`压缩包文件中,可能包含了一个简单的示例程序,演示了如何使用Fastjson进行JSON的解析和生成。通常,这个示例会创建一个Java对象,然后将其转换为JSON字符串,接着将JSON字符串解析回Java对象...
阿里巴巴 fastjson是目前解析json数据的一种比较高效,快速的方式。
二、通过fastjson解析json数据 一、原始数据内容eventLogJson.txt { “u”: { “cookieid”: “HsOorABPB”, “account”: “05289”, “email”: “Fh8h@G4hbi.com”, “phoneNbr”: “20096655112”, “birthday”...
在本文中,我们将深入探讨Fastjson的核心功能、特性以及如何在实际开发中使用它进行JSON解析。 **1. Fastjson的核心功能** - **JSON解析与生成**:Fastjson可以将JSON字符串解析为Java对象,反之亦然。它支持基本...
【标题】中的“安卓网站交互JSONxmlWebserviceUPnP相关-使用fastjson解析实体嵌套只要一行代码就可以解析负责的json嵌套”涉及到几个关键概念,让我们逐一详解: 1. **JSON**: JSON(JavaScript Object Notation)...
FastJson是阿里巴巴开发的一款高效的Java JSON库,它不仅性能优秀,而且使用简单,深受开发者喜爱。在Java开发中,JSON(JavaScript Object Notation)作为数据交换格式被广泛应用,FastJson的出现极大地简化了JSON...
Fastjson是阿里巴巴开源的一个高性能的JSON库,它的设计目标是处理速度极快,同时也提供了丰富的API供开发者使用。Fastjson支持Java对象与JSON之间的相互转换,包括JSON字符串到Java对象的反序列化以及Java对象到...