JSON格式与JAVA对象相互转化

详情见博客
原文链接:https://blog.csdn.net/qq_34394010/article/details/78180289
1、一个比较常见的json字符串:

String json1="{'name':'zhangsan','age':23}";

解析:Gson gson = new Gson();
UserBean bean = gson.fromJson(json1, UserBean.class);
System.out.println(bean);

2、解析一个json数组:

String json2="[{'name':'zhangsan'},{'name':'lisi'},{'name':'王五'}]";解析:

JSONArray jsonArray = new JSONArray(json2);

for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObj = jsonArray.getJSONObject(i);
String name = jsonObj.getString("name");
System.out.println(name);
}

这里需要导入一个json jar包,才能使用jsonArray和JSONOBJECT;
注意:import org.json.JSONArray;
import org.json.JSONObject;
这里导入的类是这两个类,不要导错;
3、解析一个map类型的json字符串:

String json3="{'1':{'name':'zhangsan'},'3':{'name':'lisi'},'4':{'name':'wangwu'}}"

解析:

JSONObject jsonObj = new JSONObejct(json3);

Gson gson  = new Gson();

Map<String,UserBean> map = gson.fromJson(new TypeToken<Map<String,UserBean>>(){}.getTypeToken());

for(UserBean bean:map.values()){
System.out.println(bean);
}

4、解析一个比较复杂的json字符串

String json4="{'name':'zhangsan','age':23,'interests':[{'interest':'篮球','colors':['绿色','黄色']},{'interest':'足球','colors':['红色','蓝色']}]}";

分析:json4最外层是一个json字符串,内层包含一个json数组,数组是由两个json字符串组成,而在内部的json字符串中又包含json数组

解析:

JSONObject jsonObject = new JSONObject(json4);
String userName = jsonOBject.getString("name");//可以获得用户的名称
JSONArray   jsonArray = jsonObjct.getJSONArray("interests");
for(int i=0;i<jsonArray.length();i++){
   JSONObject jsonTwo = jsonArray.getJSONObejct(i);
   String interest = jsonObjectTwo.getString("interest");
  JSONArray jsonArrayThree=  jsonObjectTwo.getJSONArray("colors");
  for(int j=0;j<jsonArrayThree.length();i++){
   System.out.println(jsonArrayThree.getString(j));
  }
}

JSON.stringify()与JSON.parse()的区别

点击跳转博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
包含以下java源文件: com.google.gson.DefaultDateTypeAdapter.class com.google.gson.ExclusionStrategy.class com.google.gson.FieldAttributes.class com.google.gson.FieldNamingPolicy.class com.google.gson.FieldNamingStrategy.class com.google.gson.Gson.class com.google.gson.GsonBuilder.class com.google.gson.InstanceCreator.class com.google.gson.JsonArray.class com.google.gson.JsonDeserializationContext.class com.google.gson.JsonDeserializer.class com.google.gson.JsonElement.class com.google.gson.JsonIOException.class com.google.gson.JsonNull.class com.google.gson.JsonObject.class com.google.gson.JsonParseException.class com.google.gson.JsonParser.class com.google.gson.JsonPrimitive.class com.google.gson.JsonSerializationContext.class com.google.gson.JsonSerializer.class com.google.gson.JsonStreamParser.class com.google.gson.JsonSyntaxException.class com.google.gson.LongSerializationPolicy.class com.google.gson.TreeTypeAdapter.class com.google.gson.TypeAdapter.class com.google.gson.TypeAdapterFactory.class com.google.gson.annotations.Expose.class com.google.gson.annotations.SerializedName.class com.google.gson.annotations.Since.class com.google.gson.annotations.Until.class com.google.gson.internal.ConstructorConstructor.class com.google.gson.internal.Excluder.class com.google.gson.internal.JsonReaderInternalAccess.class com.google.gson.internal.LazilyParsedNumber.class com.google.gson.internal.LinkedTreeMap.class com.google.gson.internal.ObjectConstructor.class com.google.gson.internal.Primitives.class com.google.gson.internal.Streams.class com.google.gson.internal.UnsafeAllocator.class com.google.gson.internal.bind.ArrayTypeAdapter.class com.google.gson.internal.bind.CollectionTypeAdapterFactory.class com.google.gson.internal.bind.DateTypeAdapter.class com.google.gson.internal.bind.JsonTreeReader.class com.google.gson.internal.bind.JsonTreeWriter.class com.google.gson.internal.bind.MapTypeAdapterFactory.class com.google.gson.internal.bind.ObjectTypeAdapter.class com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.class com.google.gson.internal.bind.SqlDateTypeAdapter.class com.google.gson.internal.bind.TimeTypeAdapter.class com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.class com.google.gson.internal.bind.TypeAdapters.class com.google.gson.reflect.TypeToken.class com.google.gson.stream.JsonReader.class com.google.gson.stream.JsonScope.class com.google.gson.stream.JsonToken.class com.google.gson.stream.JsonWriter.class com.google.gson.stream.MalformedJsonException.class
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值