威尼斯人线上娱乐

jsonobject分析JSON的办法详解,详解JSONObject和JSONArray差距及着力用法

31 8月 , 2019  

一.下载json具体到上找Java-json下载,并把其放置项目源代码中,那样就足以引用其类对象了

java json字符串转JSONObject和JSONArray以及取值的实例

 一、JSONObject和JSONArray的数据表示情势

JSON的定义:

二.有血有肉转会进度

实现代码:

JSONObject的数码是用 {  } 来代表的,

一种轻量级的数据调换格式,拥有非凡的可读和有利火速编写的特性。行业内部主流本领为其提供了总体的建设方案(有一点类似王海鸰则说明式
,得到了当今非常多语言的帮助),从而能够在区别平台间开展数据沟通。JSON采取包容性相当高的文本格式,同一时候也不无类似于C语言类别的展现。

//JSONObject
String jsonMessage = "{\"语文\":\"88\",\"数学\":\"78\",\"计算机\":\"99\"}";
String value1 = null;
try
{
//将字符串转换成jsonObject对象
JSONObject myJsonObject = new JSONObject(jsonMessage);
//获取对应的值
value1 = myJsonObject.getString("数学");
}
catch (JSONException e)
{
}
System.out.println("value1="+value1);
//JSONArray
jsonMessage = "[{'num':'成绩', '外语':88, '历史':65, '地理':99, 'object':{'aaa':'1111','bbb':'2222','cccc':'3333'}}," +
"{'num':'兴趣', '外语':28, '历史':45, '地理':19, 'object':{'aaa':'11a11','bbb':'2222','cccc':'3333'}}," +
"{'num':'爱好', '外语':48, '历史':62, '地理':39, 'object':{'aaa':'11c11','bbb':'2222','cccc':'3333'}}]";
JSONArray myJsonArray;
try
{
myJsonArray = new JSONArray(jsonMessage);
for(int i=0 ; i < myJsonArray.length() ;i++)
{
//获取每一个JsonObject对象
JSONObject myjObject = myJsonArray.getJSONObject(i);
//获取每一个对象中的值
String numString = myjObject.getString("num");
int englishScore = myjObject.getInt("外语");
int historyScore = myjObject.getInt("历史");
int geographyScore = myjObject.getInt("地理");
//获取数组中对象的对象
JSONObject myjObject2 = myjObject.getJSONObject("object");
String aaaString = myjObject2.getString("aaa");
System.out.println("aaaString="+aaaString);
System.out.println("numString="+numString);
System.out.println("englishScore="+englishScore);
System.out.println("historyScore="+historyScore);
System.out.println("geographyScore="+geographyScore);
}
}
catch (JSONException e)
{
}
import net.sf.json.JSONArray; 
import net.sf.json.JSONObject; 

public class JsonTest { 
  public static void main(String[] args) { 
    String joStr = "{name:\"张三\",age:\"20\"}"; 
    //将json字符串转化为JSONObject 
    JSONObject jsonObject = JSONObject.fromObject(joStr); 
    //通过getString("")分别取出里面的信息 
    String name = jsonObject.getString("name"); 
    String age = jsonObject.getString("age"); 
    //输出  张三 20 
    System.out.println(name+" "+age); 

    String jaStr = "[{user:{name:\"张三\",age:\"20\"}},{score:{yuwen:\"80\",shuxue:\"90\"}}]"; 
    //将jsonArray字符串转化为JSONArray 
    JSONArray jsonArray = JSONArray.fromObject(jaStr); 
    //取出数组第一个元素 
    JSONObject jUser = jsonArray.getJSONObject(0).getJSONObject("user"); 
    //取出第一个元素的信息,并且转化为JSONObject 
    String name2 = jUser.getString("name"); 
    String age2 = jUser.getString("age"); 
    //输出 张三 20 
    System.out.println(name2+" "+age2); 
    //取出数组第二个元素,并且转化为JSONObject 
    JSONObject jScore = jsonArray.getJSONObject(1).getJSONObject("score"); 
    //取出第二个元素的信息 
    String yuwen = jScore.getString("yuwen"); 
    String shuxue = jScore.getString("shuxue"); 
    //输出  80 90 
    System.out.println(yuwen+"  "+shuxue); 
  } 

} 

       
例如:  { "id" : "123", "courseID" : "huangt-test", "title" : "提交作业", "content" : null  }

JSON对象:

上述内容是我给大家介绍的JSON字符串转变JSONObject和JSONArray的主意,希望能够帮忙到我们,若是大家有疑难接待给自个儿留言,小编会及时过来大家,在此也非常谢谢大家对剧本之家网址的支持!

感谢阅读,希望能扶助到我们,谢谢我们对本站的支撑!

而JSONArray,看名就会猜到其意义是由JSONObject构成的数组,用  [ { } , { } ,
……  , { } ]  来表示

JSON中指标(Object)以”{“开首, 以”}”截止.
对象中的各样item都以叁个key-value对, 表现为”key:value”的花样,
key-value对中间利用逗号分隔. 如:{“name”:”coolxing”, “age”=24,
“male”:true, “address”:{“street”:”huiLongGuan”, “city”:”beijing”,
“country”:”china”}}. JSON对象的key只好是string类型的,
而value能够是string, number, false, true, null,
Object对象竟然是array数组, 也正是说可以存在嵌套的情况.

你或者感兴趣的篇章:

  • jsonobject分析JSON的办法详解,详解JSONObject和JSONArray差距及着力用法。JSONObject使用方法详解
  • java使用JSONObject实例
  • java
    json字符串转JSONObject和JSONArray以及取值的实例
  • Java代码达成Map和Object互转及Map和Json互转
  • 浅析Java中JSONObject和JSONArray使用
  • SpringMVC restful
    注解之@RequestBody进行json与object转换
  • Android中gson、jsonobject剖判JSON的方法详解
  • JSONObject与JSONArray的使用
  • 详解JSONObject和JSONArray分化及基本用法
  • JSON.parseObject和JSON.toJSONString实例详解

您也许感兴趣的稿子:

  • JSONObject使用办法详解
  • java使用JSONObject实例
  • JSON字符串调换JSONObject和JSONArray的方法
  • Java代码实现Map和Object互转及Map和Json互转
  • 浅析Java中JSONObject和JSONArray使用
  • SpringMVC restful
    注解之@RequestBody进行json与object转换
  • Android中gson、jsonobject分析JSON的法门详解
  • JSONObject与JSONArray的使用
  • 详解JSONObject和JSONArray差距及主干用法
  • 威尼斯人线上娱乐 ,JSON.parseObject和JSON.toJSONString实例详解

      
例如:  [ {  "id" : "123", "courseID" : "huangt-test", "title" : "提交作业" }  ,  {  "content" : null, "beginTime" : 1398873600000  "endTime" } ] ;

JSON数组:

        表示了包括2个JSONObject的JSONArray。

JSON数组(array)以”[“开始, 以”]”截至, 数组中的每一个因素得以是string,
number, false, true, null, Object对象竟然是array数组,
数组间的要素采纳逗号分隔. 如[“coolxing”, 24, {“street”:”huiLongGuan”,
“city”:”beijing”, “country”:”china”}].

能够见到一个很鲜明的区分,一个最外侧用的是 {  }  ,二个最外面用的是 [ 
]  ;

1.前言

二、如何从字符串String得到JSONObject对象和JSONArray对象         

JSON数据是android网络支付台湾中国广播公司泛的数码格式。深入分析JSON数据有四种格局。

JSONObject jsonObject = new JSONObject ( String str);
     JSONArray jsonArray = new JSONArray(String  str ) ;

1.1 使用官方自带JSONObject

三、如何从JSONArray中获得JSONObject对象

1.2 使用第三方开源库,富含但不限于 GSON 、 法斯特JSON 、 Jackson,本文重要介绍由Google提供的GSON库的使用方法。

      
我们能够把JSONArray当成一般的数组来相比较,只是得到的数目内数据的艺术分歧等               

2.JSONObject的使用情势

JSONObject  jsonObject = jsonArray.getJSONObject(i) ;  

2.1 示例代码

四、获取JSON内的数目 

//org.json.JSONArray;
//org.json.JSONObject;
private void parseJSONWithJSONObject(String jsonData){
try {
//将json字符串jsonData装入JSON数组,即JSONArray
//jsonData可以是从文件中读取,也可以从服务器端获得
JSONArray jsonArray = new JSONArray(jsonData);
for (int i = 0; i< jsonArray.length(); i++) {
//循环遍历,依次取出JSONObject对象
//用getInt和getString方法取出对应键值
JSONObject jsonObject = jsonArray.getJSONObject(i);
int stu_no = jsonObject.getInt("stu_no");
String stu_name = jsonObject.getString("stu_name");
String stu_sex = jsonObject.getString("stu_sex");
Log.d("MainActivity","stu_no: " + stu_no);
Log.d("MainActivity","stu_name: " + stu_name);
Log.d("MainActivity","stu_sex: " + stu_sex);
}
} catch (Exception e) {
e.printStackTrace();
}
}
 int  mid= jsonObject.getInt ( "id" ) ;  // 这里的mid得到的数据就是123.
   String mcourse=jsonObject.getString( " courseID") ;  // 这里的mcourse得到的数据就是huangt-test.

2.2 字符串jsonData如下,图为运维结果

总结

[{ "stu_no":12345,"stu_name":"John","stu_sex":"male"
},{ "stu_no":12346,"stu_name":"Tom","stu_sex":"male"
},{"stu_no":12347,"stu_name":"Lily","stu_sex":"female"}]

你只怕感兴趣的篇章:

  • JSONObject使用方法详解
  • java使用JSONObject实例
  • java
    json字符串转JSONObject和JSONArray以及取值的实例
  • JSON字符串调换JSONObject和JSONArray的主意
  • Java代码完结Map和Object互转及Map和Json互转
  • 浅析Java中JSONObject和JSONArray使用
  • SpringMVC restful
    注解之@RequestBody进行json与object转换
  • Android中gson、jsonobject深入分析JSON的不二等秘书技详解
  • JSONObject与JSONArray的使用
  • JSON.parseObject和JSON.toJSONString实例详解

威尼斯人线上娱乐 1

3.GSON的使用形式

3.1 下载并安装

•将下载的gson-2.6.1.jar复制到 项目目录->app->libs 文件夹下

威尼斯人线上娱乐 2

3.2 方法简要介绍

•toJson(params1),将盛传对象转变为字符串
•fromJson(params1,params2),传入四个参数,将字符串params1转变为params2点名的数据类型。

3.3 示例代码

3.3.1 单个对象的深入分析

public class Student {
private int stu_no;
private String stu_name;
private String stu_sex;
Student(int stu_no,String stu_name,String stu_sex){
this.stu_no = stu_no;
this.stu_name = stu_name;
this.stu_sex = stu_sex;
}
}
// 序列化,将Student对象stu转换为字符串str
Student stu = new Student(123,"Tom","male");
Gson gson = new Gson();
String str = gson.toJson(stu); 
//反序列化,将字符串转换为Student对象
jsonData = "{ \"stu_no\":12345,\"stu_name\":\"John\",\"stu_sex\":\"male\" }";
Gson gson = new Gson();
Student student = gson.fromJson(jsonData,Student.class); 

3.3.2 JSON数组的深入分析(原生类)

Gson gson = new Gson();
int[] ints = {1, 2, 3, 4, 5};
String[] strings = {"abc", "def", "ghi"};
//序列化(serialization)
//将整数数组转换为JSON数组
gson.toJson(ints); // ==> [1,2,3,4,5]
//将字符串数组转换为JSON数组
gson.toJson(strings); // ==> ["abc", "def", "ghi"]
// 反序列化(Deserialization)
// 将JSON数组转换为原生类数组
// ints2、string2与ints、strings相等
int[] ints2 = gson.fromJson("[1,2,3,4,5]", int[].class); 
String[] strings2 = gson.fromJson("[\"abc\", \"def\", \"ghi\"]",String[].class); 

3.3.3 JSON数组的剖判(自定义类)

//对于类似于2.2中的jsonData,包含3个Student对象
//与原生类不同,需要借助TypeToken获得期望解析成的数据类型
//下列代码运行后,students包含三个Student对象
Gson gson = new Gson();
List<Student> students;
students = gson.fromJson(jsonData, new TypeToken<List<Student>>(){}.getType()); // ==>[stu0,stu1,stu2] 

3.4 更加多措施

•GSON的 简便之处 在于其得以将字符串 自动映射
为原生或自定义对象,进而无需手动编写代码举办分析。

•GSON的 更加多形式 能够翻阅GSON在github上的用法介绍,README.md -> user
guide。

以上内容给大家介绍了Android中gson、jsonobject深入分析JSON的措施详解,希望对我们有着补助。

您也许感兴趣的稿子:

  • JSONObject使用方法详解
  • java使用JSONObject实例
  • java
    json字符串转JSONObject和JSONArray以及取值的实例
  • JSON字符串转变JSONObject和JSONArray的章程
  • Java代码达成Map和Object互转及Map和Json互转
  • 浅析Java中JSONObject和JSONArray使用
  • SpringMVC restful
    注解之@RequestBody进行json与object转换
  • JSONObject与JSONArray的使用
  • 详解JSONObject和JSONArray不同及中央用法
  • JSON.parseObject和JSON.toJSONString实例详解


相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图