json是JavaScript Object Notation的简写,翻译过来就是js对象简谱,这是我们在开发中经常会使用到工具之一,不过对于新手java人员来说,还不清楚json数据是什么格式?下面来我们就来给大家讲解一下。
JSON是一种轻量级的数据交换格式。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。
JSON 是JavaScript 对象表示法(JavaScript Object Notation)。
JSON 是存储和交换文本信息的语法。类似 XML。
JSON 比 XML 更小、更快,更易解析。
json格式文件就是后缀名为.json的文件。
这种文件可以用记事本打开,可以用浏览器打开,也可以利用文件编辑器打开。
其中文件编辑器有很多种,像是sublime text、notepad等文件编辑器都可以用来打开json格式文件。
json如何进行解析?
一、JSON解析之GSON
1、生成JSON字符串
import com.google.gson.Gson; public class JsonUtils { public static String createJsonObject(Object obj) { Gson gson = new Gson(); String str = gson.toJson(obj); return str; } }
2、解析JSON
import java.util.ArrayList; import java.util.List; import java.util.Map; import com.google.gson.Gson; import com.google.gson.reflect.TypeToken;; public class GsonTools { public GsonTools() { // TODO Auto-generated constructor stub } /** * @param * @param jsonString * @param cls * @return */ public static T getPerson(String jsonString, Class cls) { T t = null; try { Gson gson = new Gson(); t = gson.fromJson(jsonString, cls); } catch (Exception e) { // TODO: handle exception } return t; } /** * 使用Gson进行解析 List * * @param * @param jsonString * @param cls * @return */ public static List getPersons(String jsonString, Class cls) { List list = new ArrayList(); try { Gson gson = new Gson(); list = gson.fromJson(jsonString, new TypeToken > () {}.getType()); } catch (Exception e) {} return list; } /** * @param jsonString * @return */ public static List getList(String jsonString) { List list = new ArrayList(); try { Gson gson = new Gson(); list = gson.fromJson(jsonString, new TypeToken > () {}.getType()); } catch (Exception e) { // TODO: handle exception } return list; } public static List > listKeyMaps(String jsonString) { List > list = new ArrayList > (); try { Gson gson = new Gson(); list = gson.fromJson(jsonString , new TypeToken >> () {}.getType()); } catch (Exception e) { // TODO: handle exception } return list; } }
三、JSON解析之FastJSON
import java.util.ArrayList; import java.util.List; import java.util.Map; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.TypeReference; public class JsonTool { public static T getPerson(String jsonstring, Class cls) { T t = null; try { t = JSON.parseObject(jsonstring, cls); } catch (Exception e) { // TODO: handle exception } return t; } public static List getPersonList(String jsonstring, Class cls) { List list = new ArrayList(); try { list = JSON.parseArray(jsonstring, cls); } catch (Exception e) { // TODO: handle exception } return list; } public static List > getPersonListMap1( String jsonstring) { List > list = new ArrayList > (); try { list = JSON.parseObject(jsonstring , new TypeReference >> () {}.getType()); } catch (Exception e) { // TODO: handle exception } return list; } }
我们可以利用以上方法对json进行解析,json简单容易理解,也容易机器解析和生成。所以json解析我们必须要掌握哦!最后大家如果想要了解更多json工具教程知识,敬请关注奇Q工具网。
推荐阅读: