zoukankan      html  css  js  c++  java
  • Json

      JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等).

      Json简单说就是javascript中的对象和数组,通过这两种结构可以表示各种复杂的结构。

         1.对象:对象在js中表示为“{}”括起来的内容,数据结构为 {key:value,key:value,...}的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值。

       eg.{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" }

      2.数组:数组在js中是中括号“[]”括起来的内容,数据结构为 ["java","javascript","vb",...],取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。

          使用 JSON,只需将多个带花括号的记录分组在一起:  

          eg.{"people": [

                    { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },
                    { "firstName": "Jason", "lastName":"Hunter", "email": "bbbb"},
                    { "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" }
                ]
        }
               
    { "programmers": [
      { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },
      { "firstName": "Jason", "lastName":"Hunter", "email": "bbbb" },
      { "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" }
      ],
      "authors": [
      { "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" },
      { "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" },
      { "firstName": "Frank", "lastName": "Peretti", "genre": "christian fiction" }
        ],
      "musicians": [
      { "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" },
      { "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" }
        ] }
     
    Java 解析Json
          加入json-lib.jar包
      
    protected String getJsonString(String urlPath) throws Exception {  
            URL url = new URL(urlPath);  
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();  
            connection.connect();  
            InputStream inputStream = connection.getInputStream();  
            //对应的字符编码转换  
            Reader reader = new InputStreamReader(inputStream, "UTF-8");  
            BufferedReader bufferedReader = new BufferedReader(reader);  
            String str = null;  
            StringBuffer sb = new StringBuffer();  
            while ((str = bufferedReader.readLine()) != null) {  
                sb.append(str);  
            }  
            reader.close();  
            connection.disconnect();  
            return sb.toString();  
        }  

      

            JSONObject jsonObject = new JSONObject(result); 
            JSONArray subjects=jsonObject.getJSONArray("subjects");
            JSONObject subject;
            JSONObject imgs;
            for(int i=0;i<subjects.length();i++)
            {
                movie=new Movie();
                subject=subjects.getJSONObject(i);
                movie.setMovie_id(subject.getString("id"));
                movie.setTitle(subject.getString("title"));
                movie.setYear(subject.getString("year"));
                //类别标签
                movie.setTag(tag);
                //图片url
                imgs=subject.getJSONObject("images");
                movie.setImgUrl(imgs.getString("large"));
                //加入列表
                movieList.add(movie);
            }
  • 相关阅读:
    JavaSE-28 hashCode()方法、equals()方法和==相关概念
    设计模式:命令模式(Command Pattern)
    Spring-02 Java配置实现IOC
    Spring-01 注解实现IOC
    [功能帮助类] 最新的Functions 类 (转载)
    C# DbHelperSQL,操作不同的数据库帮助类 (转载)
    C# DbHelperSQLP,操作不同的数据库帮助类 (转载)
    C# DbHelperSQLite,SQLite数据库帮助类 (转载)
    C#DbHelperOra,Oracle数据库帮助类 (转载)
    C#DbHelperOleDb,Access数据库帮助类 (转载)
  • 原文地址:https://www.cnblogs.com/cschen/p/3484501.html
Copyright © 2011-2022 走看看