Android_json
来源:互联网 发布:高清网络智能机顶盒 编辑:程序博客网 时间:2024/06/05 05:19
Android之Gson
{
"id": 912345678901,
"age": 33,
"text": "How do I stream JSON in Java?",
"geo": null,
}
红色部分如果表示有可能为null,则在判断的时候需要如下name.equals("geo")&& reader.peek() != JsonToken.NULL
橙色部分要是想不解析其中的Json字段,需要在判断的时候加上一个else语句如下:else{reader.skipValue()}
然后是一些例子,都是Json的各种组合形式,不定时更新
1. 现实Json数据,后面每一个都是如此不再做任何的解析了,然后跟着就是对应的代码内容
{
"id": 912345678901,
"text": "How do I stream JSON in Java?",
"geo": null,
"user": {
"name": "json_newb",
"followers_count": 41
}
}
reader.beginObject();
while (reader.hasNext()) {
String name = reader.nextName();
if (name.equals("id")) {
System.out.println("id:" + reader.nextLong());
} else if (name.equals("text")) {
System.out.println("text:" + reader.nextString());
} else if (name.equals("geo") && reader.peek() != JsonToken.NULL) {
System.out.println("text:" + reader.nextString());
} else if (name.equals("user")) {
usernameObject();
} else {
reader.skipValue();
}
}
reader.endObject();
private void usernameObject() throws IOException{
reader.beginObject();
while (reader.hasNext()) {
String nxtName = reader.nextName();
if (nxtName.equals("name")) {
System.out.println("nxtName:" + reader.nextString());
} else if (nxtName.equals("followers_count")) {
System.out.println("nxtName:" + reader.nextInt());
}
while (reader.hasNext()) {
String name = reader.nextName();
if (name.equals("id")) {
System.out.println("id:" + reader.nextLong());
} else if (name.equals("text")) {
System.out.println("text:" + reader.nextString());
} else if (name.equals("geo") && reader.peek() != JsonToken.NULL) {
System.out.println("text:" + reader.nextString());
} else if (name.equals("user")) {
usernameObject();
} else {
reader.skipValue();
}
}
reader.endObject();
private void usernameObject() throws IOException{
reader.beginObject();
while (reader.hasNext()) {
String nxtName = reader.nextName();
if (nxtName.equals("name")) {
System.out.println("nxtName:" + reader.nextString());
} else if (nxtName.equals("followers_count")) {
System.out.println("nxtName:" + reader.nextInt());
}
}
2.
[
{
"id": 912345678901,
"text": "How do I stream JSON in Java?",
"geo": null,
"user": {
"name": "json_newb",
"followers_count": 41
}
},
{
"id": 777777777888,
"text": "dfngsdnglnsldfnsl",
"geo": null,
"user": {
"name": "dsfgpd",
"followers_count": 24
}
}
]
reader.beginArray();
while(reader.hasNext()){
reader.beginObject();
while (reader.hasNext()) {
String name = reader.nextName();
if (name.equals("id")) {
System.out.println("id:" + reader.nextLong());
} else if (name.equals("text")) {
System.out.println("text:" + reader.nextString());
} else if (name.equals("geo") && reader.peek() != JsonToken.NULL) {
System.out.println("text:" + reader.nextString());
} else if (name.equals("user")) {
usernameObject();
} else {
reader.skipValue();
}
}
reader.endObject();
}
while(reader.hasNext()){
reader.beginObject();
while (reader.hasNext()) {
String name = reader.nextName();
if (name.equals("id")) {
System.out.println("id:" + reader.nextLong());
} else if (name.equals("text")) {
System.out.println("text:" + reader.nextString());
} else if (name.equals("geo") && reader.peek() != JsonToken.NULL) {
System.out.println("text:" + reader.nextString());
} else if (name.equals("user")) {
usernameObject();
} else {
reader.skipValue();
}
}
reader.endObject();
}
reader.endArray();
3.
{
"statuses":[
{
"id": 912345678901,
"text": "How do I stream JSON in Java?",
"geo": null,
"user": {
"name": "json_newb",
"followers_count": 41
}
},
{
"id": 777777777888,
"text": "dfngsdnglnsldfnsl",
"geo": null,
"user": {
"name": "dsfgpd",
"followers_count": 24
}
}
]
}
reader.beginObject();
while(reader.hasNext())
{
String begin = reader.nextName();
if(begin.equals("statuses"))
{
array();
}
}
reader.endObject();
private void array() throws IOException{
reader.beginArray();
while(reader.hasNext()){
reader.beginObject();
while (reader.hasNext()) {
String name = reader.nextName();
if (name.equals("id")) {
System.out.println("id:" + reader.nextLong());
} else if (name.equals("text")) {
System.out.println("text:" + reader.nextString());
} else if (name.equals("geo") && reader.peek() != JsonToken.NULL) {
System.out.println("text:" + reader.nextString());
} else if (name.equals("user")) {
usernameObject();
} else {
reader.skipValue();
}
}
reader.endObject();
}
reader.endArray();
}
private void usernameObject() throws IOException{
reader.beginObject();
while (reader.hasNext()) {
String nxtName = reader.nextName();
if (nxtName.equals("name")) {
System.out.println("nxtName:" + reader.nextString());
} else if (nxtName.equals("followers_count")) {
System.out.println("nxtName:" + reader.nextInt());
}
}
reader.endObject();
while(reader.hasNext())
{
String begin = reader.nextName();
if(begin.equals("statuses"))
{
array();
}
}
reader.endObject();
private void array() throws IOException{
reader.beginArray();
while(reader.hasNext()){
reader.beginObject();
while (reader.hasNext()) {
String name = reader.nextName();
if (name.equals("id")) {
System.out.println("id:" + reader.nextLong());
} else if (name.equals("text")) {
System.out.println("text:" + reader.nextString());
} else if (name.equals("geo") && reader.peek() != JsonToken.NULL) {
System.out.println("text:" + reader.nextString());
} else if (name.equals("user")) {
usernameObject();
} else {
reader.skipValue();
}
}
reader.endObject();
}
reader.endArray();
}
private void usernameObject() throws IOException{
reader.beginObject();
while (reader.hasNext()) {
String nxtName = reader.nextName();
if (nxtName.equals("name")) {
System.out.println("nxtName:" + reader.nextString());
} else if (nxtName.equals("followers_count")) {
System.out.println("nxtName:" + reader.nextInt());
}
}
reader.endObject();
}
0 0
- Android_json
- Android_JSON解析
- android_json解析
- Android_JSON解析
- Android_JSON解析
- Android_JSON解析
- Android_JSON解析
- Android_JSON解析
- Android_JSON解析
- Android_JSON解析
- Android_JSON解析
- android_json教程
- Android_JSON解析
- Android_JSON解析
- android_json解析的服务端
- Android_Json解析_141101
- Android_JSON解<一>
- Android_JSON数据解析
- 苹果App Store审核指南中文翻译(2014.9.1更新)
- shiro安全框架扩展教程--如何动态修改资源权限不需要重启项目
- 通过 ffmpeg 无损剪切/拼接视频
- 学校小型的实验室局域网络的搭建
- Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e)的用法
- Android_json
- Android:文件下载和写入SD卡学习小结
- 程序员常去的14个顶级开发社区
- Tomcat负载均衡原理详解及配置(Apache2.2.19+Tomcat7.0.12) mod_proxy_blancer方式已经成功实现
- 6410 wicne6.0R3 IE浏览器显示问题
- ts与安卓语言文件string.xml的转换工具
- android 拍照上传照片(新)
- 2012年部分项目经验
- 软件质量造成的影响