导读: json的解析(共3篇)java中解析json的三种方式 第一种public void jsonTx() {String json = {status:200,message:查询成功,data:[{id:1,name:name1,describe:第一条数据}]};JSONObject data = new JSO...
java中解析json的三种方式
json的解析 第一篇
//第一种
public void jsonTx() {
String json = "{'status':200,'message':'查询成功','data':[{'id':1,'name':'name1','describe':'
第一条数据'}]}";
JSONObject data = new JSONObject(json);
int status = data.optInt("status");
JSONArray data1 = data.getJSONArray("data");
if (status==200) {
for(int i=0;i<data1.length();i++){
String s = data1.getString(i);
System.out.println(s);
JSONObject data2 = JSONObject.fromObject(s);
System.out.println(data2.getString("id"));
System.out.println(data2.getString("name"));
System.out.println(data2.getString("describe"));
}
}else if(status==500) {
String msg = data.getString("message");
System.out.println(msg);
}
}
//第二种
public void getJson() {
String json =
"{'response':{'data':[{'address':'北京','province':'海淀','district':'西三旗','city':'地铁'}]},'status':'ok'}";
JSONObject jsonObject = JSONObject.fromObject(json);
String status = jsonObject.getString("status");
// System.out.println(str);
String response = jsonObject.getString("response");
JSONObject jsonObject2 = JSONObject.fromObject(response);
JSONArray data = jsonObject2.getJSONArray("data");
for(int i=0;i<data.length();i++){【json的解析】
String s = data.getString(i);
JSONObject data2 = JSONObject.fromObject(s);
System.out.println(data2.getString("address"));
System.out.println(data2.getString("province"));
System.out.println(data2.getString("district"));
System.out.println(data2.getString("city"));
}【json的解析】
}
//第三种(只获取json里面数据)
public static void main(String[] args) {
String json =
"{\"response\":{\"data\":[{\"address\":\"北京\",\"province\":\"海淀\",\"district\":\"三环\",\"city\":\"桥\"}]},\"status\":\"ok\"}";
String str[] =
json.replaceAll(".*\"address\":\"(.*?)\".*\"province\":\"(.*?)\",.*\"district\":\"(.*?)\",.*\"city\":\"(.*?)\".*",
"$2,$4,$3,$1").split(",");
for (String s : str) {
System.out.println(s);
}
}
JSON解析详细文档
json的解析 第二篇
JSON 的含义?
JSON的全称是JavaScript Object Notation,是一种轻量级的数据交换格式。JSON与XML具有相同的特性,例如易于人编写和阅读,易于机器生成和解析。但是JSON比XML数据传输的有效性要高出很多。JSON完全独立与编程语言,使用文本格式保存。
JSON数据有两种结构:
Name-Value 对构成的集合,类似于Java中的Map。 Value的有序列表,类似于Java中的Array。
一个JSON格式的数据示例: {
"Name": "Apple",
"Expiry": "2007/10/11 13:54", "Price": 3.99, "Sizes": [ "Small", "Medium", "Large" ] }
更多关于JSON数据格式的说明参看JSON官方网站:/retype/zoom/f4f64fd1b14e852458fb572c?pn=5&x=0&y=1586&raww=14&rawh=15&o=png_6_0_0_213_608_16_17_893.25_1263.375&type=pic&aimh=15&md5sum=9947825c5cc6765ae336e9aa6fe51ad4&sign=44ea16480b&zoom=&png=2712-6841&jpg=0-0" target="_blank">JSON解析
json的解析 第三篇
1:JSON解析:在Java中没有相关的类所以他是Android自有的。
2:与DOM和SAX解析的区别:他也是调用API进行解析,不同的是他的解析的方式不同,文档的格式也是不同的。
3:JSON是什么:(JavaScript Object Notation)意为javaScript对象表示法,是一种基于文本,独立语言的轻量级数据交换格式。
优势:易于人阅读和便携,同时也易于机器解析和生成
4:JSON基础结构:
结构类型:对象(JsONObject)与数组(JSONArray)
对象:是一个无序的““名称/值” 对”集合
对象结构以“{”大括号开始,以“}”大括号结束
每个“名称”后跟一个“:”冒号
“名称/值”对之间用“,”(逗号)隔开
语法结构如下
{
Key1:value1,
Key2:value2,
……..
}
例如:{“name”:“张三”,“age”:24}注意:名称是字符串,值是字符串或者数字或者对象或者数组
数组:
值(value)是一个有序的集合
一个数组以“[”开始“]”结束
值之间用“,”分隔
语法结构如下
[
{
Key1:value1,
Key2:value2
}
]值可以是字符串,数字,对象或者数组
例子:
{“student”:[{“name”: “zhangsan”,”age” :11},{“name”:”lisi”, “age”:24 }]}
5:
public class MainActivity extends Activity {
//从网络发送过来一串数据:
//{"name":"李天保","age":25,"sex":"male"}
String JSON="{\"name\":\"李天保\",\"age\":25,\"sex\":\"male\"}";
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
package com.example.json02;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class MainActivity extends Activity {
//从网络传过来一些数据通过Json解析对数据进行提取,删除,修改,添加等操作 String jsonData="{\"name\":\"李天保\",\"age\":\"25\",\"sex\":\"man\"}";//网络获取的数据
String jsonData01="{\"name\":\"李天保\",\"age\":\"25\",\"sex\":\"man\"}"; String jsonObjectArry="{\"student\":[{\"name\":\"李天保
\",\"age\":\"25\",\"sex\":\"man\"},{\"name\":\"何倩
\",\"age\":\"26\",\"sex\":\"wman\"}]}";
String JsonArray="[\"李天保\",\"age\",\"25\",\"sex\",\"man\"]";
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
System.out.println("222222222");
JSONObject jsonObject=new JSONObject(jsonObjectArry);//Jsonobject对象
System.out.println("111111111");
try {
//addData(jsonObject);
jsonObjectArray(jsonObject);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (JSONException e) {
e.printStackTrace();
}
catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// try {
//
// JSONArray jsonArray=new JSONArray(JsonArray);
// System.out.println("000000000000000000"+jsonArray);
// try {
// jsonArray(jsonArray);
// } catch (Exception e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// } catch (JSONException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
}
/**
* 查询数据
*
*/
public void demandData(JSONObject jsonObject) throws Exception{
int jsonAge=jsonObject.getInt("age");
String jsonSex=jsonObject.getString("sex");
String jsonName=jsonObject.getString("name");//获取数据中的姓名的值 System.out.println("查询数据Age:"+jsonAge);
System.out.println("查询数据name:"+jsonName);
System.out.println("查询数据sex:"+jsonSex);
}
/**【json的解析】
* 添加数据
*/
public void addData(JSONObject jsonObject) throws Exception{
jsonObject.put("phoneNum", 1820918346);
jsonObject.put("address", "内蒙古赤峰市敖汉旗");
//添加数据可以是普通的int也可以是字符串等数据,当然也可以是对象 jsonObject.put("student",jsonData01);
System.out.println("JsonData添加完数据之后的数据:
"+jsonObject.toString());
}
/**
* 利用Json数组进行处理
* @throws Exception
*/
public void jsonArray(JSONArray jsonArray) throws Exception{
//获取数据
String Jsonobject01=(String) jsonArray.get(0);
//添加数据
jsonArray.put(4, "李春来");//修改数据
System.out.println(jsonArray.toString());
}
/**
* 对象中查灿掺杂数组
* @throws Exception
*/
public void jsonObjectArray(JSONObject jsonObject) throws Exception{ /**
* 一步一步去获得对象中的数组在获得数组中的对象在获得对象的具体内容 */
String jsonArrayDate=jsonObject.get("student").toString();//获取数组的字符串
JSONArray array=new JSONArray(jsonArrayDate);//创建Josn数组并加载数组的字符串
String jsonobejiectdata01=array.get(0).toString();//获取数组中的第一个位置的内容
JSONObject jsonObject2=new JSONObject(jsonobejiectdata01);//创建数组中的JsonObeject对象并将数组第一个位置的对象加载
String name=jsonObject2.get("name").toString();//获取对象之后继续查找对象中键值的
System.out.println("99999999999999999999999999999"+name);
/**
* 调用优良方法不用那么麻烦
*/
JSONArray jsonArray=jsonObject.getJSONArray("student");//直接获得数组不用加载对象
System.out.println("jsonarray+++++++++++++++++"+jsonArray.toString());
}
}
JSONObject jsonObject=new JSONObject(JSON);
String name=jsonObject.getString("name");
int age=jsonObject.getInt("age");
String sex=jsonObject.getString("sex");
//System.out.println("姓名:"+name+"年龄:"+age+"性别:"+sex); jsonObject.put("电话", 110);
System.out.println(jsonObject.toString());
} catch (JSONException e) {
// TODO Auto-generated catch block
} } e.printStackTrace(); }
json的解析相关热词搜索:json在线解析 gson解析json
最新推荐成考报名
更多- 歇后语_歇后语大全_歇后语大全及答案_爆笑歇后语
- 大学排名_大学排名2018排行_大学查询_中国大学名单
- 成语大全_四字成语_在线成语词典_成语查询
- 成语接龙大全查询,成语接龙游戏,在线成语接龙
- 全国安全教育平台入口_学校安全教育平台
- 社保查询网-社会保障卡查询,社会保险查询,社保网上查询
- 汉字简体繁体转换_在线繁体字转换工具
- 数字大写转换|人民币金额(数字)大小写转换在线工具
- 年龄计算器实际岁数计算器 - 周岁虚岁计算器
- 产假计算器-算产假计算器在线2018-2018年产假自动计算器
- 预产期计算器-怀孕孕期计算器-怀孕天数计算
- 中国文库网-教育资源网-范文文章
- 邮编区号查询网
- 致富商机网-致富点子_创业项目
- 创业项目网--最热门的投资项目
- 中国邮政邮编查询号码
- 电话区号查询
- 全国车牌号归属地大全
- 在线网速测试|宽带速度测试
- 人民币汇率查询
- ●理财有没有风险 金融互联网理财
- ●qq网名
- ●2016最新伤感说说
- ●谈笑风生造句
- ●读书的名言
- ●资产清查报告
- ●贫困户申请书
- ●财务自查报告
- ●离婚起诉书
- ●赞美老师的演讲稿
- ●车间管理
- ●车辆购置税
- ●跨越百年的美丽读后感
- ●跟女友离别的话
- ●超市管理制度
- ●起诉状范本
- ●赠别诗大全
- ●描写夏天的句子
- ●描写友谊的诗句
- ●迁户口申请书
- ●转正申请表范本
- ●这个杀手不太冷台词
- ●运动会稿子精选
- ●那么那么造句
- ●送给男朋友的情话大全
- ●钳工实训报告
- ●霸气说说大全
- ●骂人不带脏字的
- ●幼儿园见习个人总结
- ●追女孩子的短信