当前位置: 首页 > 实用文档 > 推荐 > json的解析

json的解析

2016-10-10 10:30:55 编辑: 来源:http://www.chinazhaokao.com 成考报名 浏览:

导读: 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");

【json的解析】

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格式的数据示例: {

【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\"}";

【json的解析】

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

最新推荐成考报名

更多
1、“json的解析”由中国招生考试网网友提供,版权所有,转载请注明出处。
2、欢迎参与中国招生考试网投稿,获积分奖励,兑换精美礼品。
3、"json的解析" 地址:http://www.chinazhaokao.com/tuijian/678137.html,复制分享给你身边的朋友!
4、文章来源互联网,如有侵权,请及时联系我们,我们将在24小时内处理!