JSon解析操作

来源:互联网 发布:淘宝怎么回到基础班 编辑:程序博客网 时间:2024/06/06 02:04
本文通过java对json字符串进行解析操作。首先引入解析json的jar包,采用的是org.json.jar解析的文件是:
{"menu": {"id": "file","value": "File:","popup": {"menuitem": [{"value": "New", "onclick": "CreateNewDoc()"},{"value": "Open", "onclick": "OpenDoc()"},{"value": "Close", "onclick": "CloseDoc()"}]}}}
命名为jsontxt,保存在相关目录下

具体操作代码如下:

package jsontest;import java.io.*;import java.util.Map;import org.json.*;public class JSonTest{    public static void main(String []args) throws JSONException    {        JSONObject obj = new JSONObject();        obj.put("oper", 0);        obj.put("new_user", "13823837997");        String str = obj.toString();        System.out.println(str);        String revstr = "{\"new_user\":\"13823837997\",\"oper\": 0,\"result\": 1}";        System.out.println(revstr);        JSONObject revobj = new JSONObject(revstr);        System.out.println(revobj.getInt("result"));/*-------------------------------------------------------------------------------------------------------------*/               //读文件操作        StringBuffer buffer = new StringBuffer();        try {            BufferedReader br = new BufferedReader(new FileReader("C:\\Users\\Lenovo\\Desktop\\jsontxt.txt"));            String s = null;            while((s = br.readLine()) != null)                buffer.append(s);            br.close();        } catch (FileNotFoundException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        //文件内容传入生成一个json对象        JSONObject txtobj = new JSONObject(buffer.toString());        System.out.println(txtobj.getString("menu"));        //根据menu生成一个json对象        JSONObject jslittle = txtobj.optJSONObject("menu");        System.out.println();//空一行        System.out.println(jslittle.getString("id"));        JSONObject jsbig = jslittle.optJSONObject("popup");        System.out.println(jsbig.get("menuitem"));        //根据menuitem生成一个json数组        JSONArray array = jsbig.getJSONArray("menuitem");        //打印读取json数组中的内容        for(int i = 0; i < array.length(); i++)        {            System.out.println(array.getString(i));            JSONObject objarr = array.getJSONObject(i);            System.out.println("value = " + objarr.getString("value") +                                " onclick = " + objarr.getString("onclick"));        }    }}
原创粉丝点击