zoukankan      html  css  js  c++  java
  • [转] json字符串转换为JSONObject和JSONArray

    一.下载json 具体到http://www.json.org/上找java-json下载,并把其放到项目源代码中,这样就可以引用其类对象了

    二.具体转化过程

    //JSONObject

     String jsonMessage = "{"语文":"88","数学":"78","计算机":"99"}";
      String value1 = null;
      try
      {
       //将字符串转换成jsonObject对象
       //JSONObject myJsonObject = new JSONObject(jsonMessage);(注:JSONObject.java源码中无此构造方法)

     JSONObject myJsonObject = JSONObject.fromObject(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);(注:JSONArray.java源码中无此构造方法)

        myJsonArray = JSONArray.fromObject(jsonMessage);

       for(int i=0 ; i < myJsonArray.size() ;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)
      {
      }

     

  • 相关阅读:
    日志框架之Slf4j整合Logback
    使用SLF4J和Logback
    Java日志框架SLF4J和log4j以及logback的联系和区别
    docker部署apollo
    mysql8.0设置忽略大小写后无法启动
    将项目迁移到kubernetes平台是怎样实现的
    kubectl port-forward
    linux服务器安全配置最详解
    CentOS7.3下部署Rsyslog+LogAnalyzer+MySQL中央日志服务器
    统计linux 下当前socket 的fd数量
  • 原文地址:https://www.cnblogs.com/ZhuRenWang/p/4765485.html
Copyright © 2011-2022 走看看