android中的json二之json的读写

android中的json的读取

1.读取Json文件中的json内容

首先在将json文件放在目录assets下:

test.json

{"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":"sciencefiction"},
{"firstName":"Tad","lastName":"Williams","genre":"fantasy"},
{"firstName":"Frank","lastName":"Peretti","genre":"christianfiction"}
],
"musicians":[
{"firstName":"Eric","lastName":"Clapton","instrument":"guitar"},
{"firstName":"Sergei","lastName":"Rachmaninoff","instrument":"piano"}
],
"cat":"test"}

在main.java中读取

 try {
            InputStreamReader isr=new InputStreamReader(getAssets().open("test.json"),"UTF-8");//打开test.json
            BufferedReader br=new BufferedReader(isr);//读取isr
            String line;
            StringBuilder builder=new StringBuilder();
            while ((line =br.readLine())!=null){
                builder.append(line);
            }
            br.close();
            isr.close();

            JSONObject root=new JSONObject(builder.toString());

            System.out.println(root.getString("cat"));
            JSONArray arry=root.getJSONArray("programmers");
            for (int i=0;i<arry.length();i++){
                JSONObject lan=arry.getJSONObject(i);
                System.out.println("----------------");
                System.out.println("firstName:"+lan.getString("firstName"));
                System.out.println("lastName:"+lan.getString("lastName"));
                System.out.println("email"+lan.getString("email"));
            }
        } catch (IOException e) {
            e.printStackTrace();
            Log.e("IO:" , e.toString());
        } catch (JSONException e) {
            e.printStackTrace();
            Log.e("JSON:", e.toString());
        }

显示结果:

如要读取给定Json数据:

可直接将值附上

//JSONObject root=new JSONObject(builder.toString());换成-》
            JSONObject root=new JSONObject("{'programmers':[{'firstName':'Brett','lastName':'McLaughlin','email':'aaaa'}]}");

2.创建JSON格式数据

 JSONObject root1=new JSONObject();

        try {

            root1.put("cat","it");

            JSONObject lan1=new JSONObject();
            lan1.put("id",1);
            lan1.put("ide","android");
            lan1.put("name","java");

            JSONObject lan2=new JSONObject();
            lan1.put("id",2);
            lan1.put("ide","xcod");
            lan1.put("name","ios");

            JSONObject lan3=new JSONObject();
            lan1.put("id",3);
            lan1.put("ide","vs");
            lan1.put("name","C#");

            JSONArray array=new JSONArray();
            array.put(lan1);
            array.put(lan2);
            array.put(lan3);

            root1.put("programmers",array);

            System.out.println(root1.toString());

        } catch (JSONException e) {
            e.printStackTrace();
        }
    }

显示结果:



源码下载:http://download.csdn.net/detail/agonie201218/8657765

时间: 2024-11-08 10:12:25

android中的json二之json的读写的相关文章

android中的网络解析xml,json,html框架

android中网络请求回来数据之后,我们要对其解析.请求的返回的结果格式如果不是自定义协议:那么返回的数据通常是xml,json,html形式的数据了. 下面就是针对上面3种格式进行解析. xml解析使用工具:在android中推荐使用pull解析,还有其他的dom,sax解析. json解析使用工具:推荐使用Fastjson,由阿里提供.还有其他的如JackSon,Gson解析. html解析使用工具:推荐使用Jsoup,还有其他的如HtmlParser;关于使用这个,网络上的爬虫就是这样子

Android中的应用——谷歌官方Json分析工具Gson使用

一个.Gson基本介绍 Gson(又称Google Gson)是Google公司公布的一个开放源码的Java库.主要用途为串行化Java对象为JSON字符串,或反串行化JSON字符串成Java对象. 也就是Java对象与json字符串间的互相转换.解析. 二.用法 Gson的应用主要为toJson与fromJson两个转换函数,而在使用这样的对象转换之前需先创建好对象的类型以及其成员才干成功的将JSON字符串成功转换成相相应的对象.即先创建好相应的javabean.javabean中的字段与要转

[转]android中解析后台返回的json字符串

普通形式的:服务器端返回的json数据格式如下: {"userbean":{"Uid":"100196","Showname":"\u75af\u72c2\u7684\u7334\u5b50","Avtar":null,"State":1}} 分析代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

Dialog在android中的应用(二)

如果实现一个带动画的下拉的Dialog 沿用上篇的基类,实现实际上的子类: public class DropDownFilterDialogForPhone extends DropDownFilterDialog { private boolean mShowAnimation = true; private boolean mIsInAnimation; private boolean mFinishShowDialog = false; public DropDownFilterDial

Android中解析JSON形式的数据

1.JSON(JavaScript Object Notation) 定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换.JSON采用兼容性很高的文本格式,同时也具备类似于C语言体系的行为. 2.JSON的结构: (1) Name/Value Pairs(无序的):类似所熟知的Keyed list. Hash table.Disctionary和Assoc

Android开源库--Gson谷歌官方json解析库

官方文档地址:http://google-gson.googlecode.com/svn/trunk/gson/docs/javadocs/index.html 官方网站:http://code.google.com/p/google-gson/ json官方网站:http://www.json.org/json-zh.html 目前主流数据传输都用的是json,解析json并且转换成相应的类型就成了必经之路. 在没有使用gson之前,原生Andoird自带有类解析json,但是实在不方便使用.

Android中解析Json数据

在开发中经常会遇到解析json的问题 在这里总结几种解析的方式: 方式一: json数据: private String jsonData = "[{\"name\":\"Michael\",\"age\":20},{\"name\":\"Mike\",\"age\":21}]"; 解析jsonData的方法 try { //如果需要解析Json数据,首先要生成一个J

android中json得解析

今天按照书上试了试json的解析 这里使用了两种方法来对json数据进行解析 1.利用JSONObject来解析 2.利用谷歌的开源库GSON来进行解析 一.利用JSONObject来进行解析 在服务器下建立json文件get_data.json如下: { "employees": [ { "firstName":"Bill" , "lastName":"Gates" }, { "firstNam

Android中使用Gson解析JSON数据的两种方法

Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率;本文将介绍两种方法解析JSON数据,需要的朋友可以参考下 Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率. 从结构上看,所有的数据(data)最终都可以分解成三种类型: 第一种类型是标量(scalar),也就是一个单独的字符串(string)或数字(numbers),比如"北京"这个单独的词. 第二种类型是序列(sequence),也就是若干个相关的数据按照一定顺序并列在一起,又叫做数组