Android JSON解析jsonデータ

13457 ワード

一、JSONとは何ですか.
JSONはXMLに取って代わるデータ構造であり、xmlに比べてコンパクトだが記述能力は悪くない.コンパクトであるため、ネットワーク伝送データはより多くのトラフィックを減少させ、速度を速める.JSONは文字列ですが、要素は特定の記号で表記されます.{}カッコはオブジェクトを表す[]カッコは配列を表す「」カッコは属性または値です.コロンは後者が前者の値(文字列、数値、または別の配列またはオブジェクト)のケース1です.
{
  "translation": [
     " "
   ],
  "basic": {
    "us-phonetic": "lʌv",
     "phonetic": "lʌv",
    "uk-phonetic": "lʌv",
    "explains": [
      "n.   ;   ;  ;     ",
      "vt.   ;  ;  ",
      "vi.  ",
      "n. (Love)  ;( )  "
    ]
   },
   "web": [
     {
     "value": [
        "  ",
         " ",
        " "
      ],
      "key": "Love"
     },
     {
     "value": [
        "    ",
       "     ",
        "   "
      ],
     "key": "Endless Love"
    },
    {
      "value": [
        "  ",
         "     ",
        "  "
       ],
       "key": "puppy love"
     }
   ]
}

JSONObject str = JSONObject.fromObject(st); 
if(str.has("translation")){         
          JSONArray tr = str.getJSONArray("translation"); //translation   json  
           for(int i = 0 ;i<tr.size();i++){                //         
              System.out.println(tr.getString(i));       //       String            getString(index)
            }
       } 
                                                                                                                                                               //basic        
         if(str.has("basic")){                             
            JSONObject us = str.getJSONObject("basic"); //       ,       
           System.out.print(" :[" + us.getString("us-phonetic") + "]\t");     
             JSONObject uk = str.getJSONObject("basic");
            System.out.print(" :[" + us.getString("uk-phonetic") + "]
"
); JSONObject basic = str.getJSONObject("basic"); // basic JSONArray explain = basic.getJSONArray("explains"); // basic explains   for(int i = 0;i<explain.size(); i++){ // System.out.println(explain.getString(i)); } }

ケース2:
[
    {
        "ver": "20200624",
        "model": "M86",
        "size": "81977",
        "md5": "",
        "url": "http://static.ococm.com/8386/sugarcane-ota-TVOS-02.04.03.20200624.zip"
    },
    {
        "ver": "20200624",
        "model": "M76",
        "size": "81977",
        "md5": "",
        "url": "http://static.ococm.com/8386/sugarcane-ota20200624.zip"
    },
    {
        "ver": "20200624",
        "model": "M96",
        "size": "81977",
        "md5": "",
        "url": "http://static.ococm.com/8386/sugarcane-ota-20200624.zip"
    }
]

JSONArray jsonArray = new JSONArray(str);
            for(int i=0;i<jsonArray.length();i++){
                JSONObject jsonObject = (JSONObject)jsonArray.get(i);
                String model = jsonObject.getString("model");
                 if(model.equals("M86")){
                     mVersionInfo.setVersion(jsonObject.getString("ver"));
                     mVersionInfo.setUrl(jsonObject.getString("url"));
                    mVersionInfo.setSize(jsonObject.getLong("size"));
                    mVersionInfo.setMd5(jsonObject.getString("md5"));
                     break;
			    }
			}