一、Json的基本概念
Json(JavaScript Object Notation)是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成,逐渐成为Web Service应用中常用的数据格式。它的格式类似于Javascript中的对象和数组,但是其标准中规定的值类型更加严格,同时提供了更多的数据类型。
二、JsonObject.getString()方法概述
JsonObject.getString()是Json中常用的一个方法,就是获取JsonObject中的一个字符串类型的值。其方法定义为:public String getString (String name)。其中name就是需要获取值的key。
三、Json对象生成
JsonObject这个类中的大多方法都需要使用它的实例,而初始化一个JsonObject实例的方法有多种,下面我们来介绍其中两种常见的方式:通过手工输入和通过Json字符串
3.1 手工输入JSONObject
JSONObject jsonObject=new JSONObject (); String name="Tom"; String job="Coder"; int age=25; try { jsonObject.put("name",name); jsonObject.put("job",job); jsonObject.put("age",age); } catch (JSONException e) { e.printStackTrace(); }
3.2 解析json字符串
除了通过手工输入以外,我们可以通过解析Json字符串来生成一个JsonObject实例。常见的方法有JSONObject的构造函数和静态方法parse(),下面我们来看一下它们的使用方法
//构造函数方式 String jsonString="{\"name\":\"Tom\",\"job\":\"Coder\",\"age\":25}"; JSONObject jsonObject = null; try { jsonObject = new JSONObject(jsonString); } catch (JSONException e) { e.printStackTrace(); } //parse方法方式 String jsonString2="{\"name\":\"Tom\",\"job\":\"Coder\",\"age\":25}"; JSONObject jsonObject2 = null; try { jsonObject2 = new JSONObject(jsonString2); } catch (JSONException e) { e.printStackTrace(); }
四、JsonObject.getString()使用实例
下面我们来看一个实际用例,结合代码说明JsonObject.getString()的使用方法和注意事项。
4.1 使用示例
String jsonString="{\"name\":\"Tom\",\"job\":\"Coder\",\"age\":25}"; try { JSONObject jsonObject = new JSONObject(jsonString); String name=jsonObject.getString("name"); String job=jsonObject.getString("job"); int age=jsonObject.getInt("age"); System.out.println("name:"+name+",job:"+job+",age:"+age); }catch (JSONException e){ e.printStackTrace(); }
4.2 字符串获取null
有时候,我们从json中获取某个字段的值时,该字段可能为空(null),下面我们演示一下JsonObject.getString()不能获取null的情况,而需要使用.optString()来替代getString()的使用场景。
String jsonString="{\"name\":\"Tom\",\"job\":null,\"age\":25}"; try { JSONObject jsonObject = new JSONObject(jsonString); String name=jsonObject.getString("name"); String job=jsonObject.getString("job"); int age=jsonObject.getInt("age"); }catch (JSONException e){ e.printStackTrace(); }
4.3 字符串获取值类型不一致
在某些情况下,json中的一个字段所对应的值的类型可能与代码所期望的不一致。此时需要根据实际情况进行类型转换。
String jsonString="{\"name\":\"Tom\",\"job\":\"Coder\",\"age\":\"25\"}"; try { JSONObject jsonObject = new JSONObject(jsonString); String name=jsonObject.getString("name"); String job=jsonObject.getString("job"); int age=Integer.parseInt(jsonObject.getString("age"));//需要将字符串类型的age转换成int类型。 }catch (JSONException e){ e.printStackTrace(); }
五、总结
JsonObject.getString()方法是Json库中用的最多的方法之一,通过本文的解析,更好的了解了其使用方法和使用注意事项。在实际使用中,需要根据情况灵活选择合适的数据类型获取方法。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/184448.html