美文网首页
json串解析和生成

json串解析和生成

作者: 璇_c2be | 来源:发表于2019-10-22 20:29 被阅读0次

平时用gson比较多,有时候不想代码生成实体bean类,然后调用toJson或者fromJson方法。可以用下面简单的方法

如下json串
{
    "os":"android",
    "sv":"Android_SDK_mix_V7.0.0",
    "cv":"1.0.0.000",
    "umid":"F6199D005D38C8BAE0C12DD05D9476EA0334965B",
    "ss":[
        {
            "key":"1",
            "key2":"2",
            "key3":"3"
        }
    ]
}

1.生成json串
用gson来写

       JsonObject jsonObject = new JsonObject();
        jsonObject.addProperty("os","android");
        jsonObject.addProperty("sv","Android_SDK_mix_V7.0.0");
        jsonObject.addProperty("cv","1.0.0.000");
        jsonObject.addProperty("umid","F6199D005D38C8BAE0C12DD05D9476EA0334965B");

        JsonArray array = new JsonArray();
        JsonObject jsonObject1 = new JsonObject();
        jsonObject1.addProperty("key","1");
        jsonObject1.addProperty("key2","2");
        jsonObject1.addProperty("key3","3");
        array.add(jsonObject1);

        jsonObject.add("items",array);

用org.json包来写

try {
            JSONObject jsonObject2 = new JSONObject();

            jsonObject2.put("os", "android");
            jsonObject2.put("sv", "Android_SDK_mix_V7.0.0");
            jsonObject2.put("cv", "1.0.0.000");
            jsonObject2.put("umid", "F6199D005D38C8BAE0C12DD05D9476EA0334965B");
            JSONArray jsonArray = new JSONArray();
            JSONObject jsonObjectProductInfo = new JSONObject();
            jsonObjectProductInfo.put("key", "1");
            jsonObjectProductInfo.put("key2", "2");
            jsonObjectProductInfo.put("key3", "3");
            jsonArray.put(jsonObjectProductInfo);
            jsonObject2.put("items", jsonArray);
            Log.i("test",jsonObject2.toString());
        } catch (JSONException e) {
            e.printStackTrace();
        }

2.解析json串
用gson

        JsonObject jsonObject2 = new JsonParser().parse(json).getAsJsonObject();
        Log.i("test", jsonObject2.get("os").getAsString());
        Log.i("test", jsonObject2.get("sv").getAsString());
        Log.i("test", jsonObject2.get("umid").getAsString());


        JsonArray items = jsonObject2.getAsJsonArray("items");
        JsonObject asJsonObject = items.get(0).getAsJsonObject();
        Log.i("test", asJsonObject.get("key").getAsString());

用org.json包来写

try {
            JSONObject js = new JSONObject(json);
            Log.i("test",js.optString("os")) ;
            Log.i("test",js.getString("sv")) ;
            JSONArray items = js.getJSONArray("items");
            JSONObject jsonObject2 = items.getJSONObject(0);
            Log.i("test",(String)jsonObject2.optString("key")) ;
        } catch (JSONException e) {
            e.printStackTrace();
        }

相关文章

  • json串解析和生成

    平时用gson比较多,有时候不想代码生成实体bean类,然后调用toJson或者fromJson方法。可以用下面简...

  • JSON相关

    JS中生成和解析json 将字符串转化为JSON对象 JSON.parse( jsonstr ); 将JSON对象...

  • Json解析方式

    1.传统的JSON解析 1.1 生成Json 1.2 解析Json 2.Gson解析Json 2.1生成Json ...

  • 菜鸟笔记(五) - 常见传输格式解析

    本文将介绍使用Java解析json和生成json,解析xml以及生成xml的一些方法。 前提摘要:JSON和XML...

  • JS 中 JSON 处理

    1、JS中生成JSON对象 2、JS中将JSON对象解析为字符串的方法:var jsonStr = JSON.st...

  • php生成和解析json

    解析json 生成json

  • go day09 json

    通过结构体生成json struct_tag的使用 通过map生成json json解析到结构体 json解析到map

  • weex开发中遇到的问题记录

    JSON.parse()解析JSON字符串并返回对应的值,可以额外传入一个转换函数,用来将生成的值和其属性, 在返...

  • fastjson解析和组装json

    一、解析json字符串 json字符串如下: 解析代码: 运行结果: 二、组装json数据 运行结果为:

  • Fastjson

    Fastjson是基于Java开发的JSON解析器和生成器,是Alibaba开源的JSON解析库。 支持解析JSO...

网友评论

      本文标题:json串解析和生成

      本文链接:https://www.haomeiwen.com/subject/eljcvctx.html