解析json数组
来源:互联网 发布:浪登西装 怎么样 知乎 编辑:程序博客网 时间:2024/06/05 01:02
package animtest.com.example.e531.arrayjsontest_demo;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
List<Result> datas=new ArrayList<>();
try {
//打开assets中的文件
InputStream inputStream=getAssets().open("array.json");
String str=StreamToString.streamToStr(inputStream,"utf-8");
/*
//第一种:gson解析 利用type
//获取集合数据的type
Type type= new TypeToken<List<Result>>(){}.getType();
Gson gson=new Gson();
datas=gson.fromJson(str,type);
Log.d("zzz",datas.size()+"---");
for(Result r:datas){
Log.d("zzz",r.toString());
}*/
/*
//第二种:原生解析
try {
JSONArray array=new JSONArray(str);
for(int i=0;i<array.length();i++){
Result result=new Result();
JSONObject obj=array.optJSONObject(i);
String img3=obj.optString("img3");
String name=obj.optString("name");
double price=obj.optDouble("price");
double tgprice=obj.optDouble("tg_price");
result.setImg3(img3);
result.setName(name);
result.setPrice(price);
result.setTg_price(tgprice);
datas.add(result);
}
} catch (JSONException e) {
e.printStackTrace();
}*/
//混合解析
try {
Gson gson=new Gson();
JSONArray array=new JSONArray(str);
for(int i=0;i<array.length();i++){
JSONObject object=array.optJSONObject(i);
Result r=gson.fromJson(object.toString(),Result.class);
datas.add(r);
}
} catch (JSONException e) {
e.printStackTrace();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
List<Result> datas=new ArrayList<>();
try {
//打开assets中的文件
InputStream inputStream=getAssets().open("array.json");
String str=StreamToString.streamToStr(inputStream,"utf-8");
/*
//第一种:gson解析 利用type
//获取集合数据的type
Type type= new TypeToken<List<Result>>(){}.getType();
Gson gson=new Gson();
datas=gson.fromJson(str,type);
Log.d("zzz",datas.size()+"---");
for(Result r:datas){
Log.d("zzz",r.toString());
}*/
/*
//第二种:原生解析
try {
JSONArray array=new JSONArray(str);
for(int i=0;i<array.length();i++){
Result result=new Result();
JSONObject obj=array.optJSONObject(i);
String img3=obj.optString("img3");
String name=obj.optString("name");
double price=obj.optDouble("price");
double tgprice=obj.optDouble("tg_price");
result.setImg3(img3);
result.setName(name);
result.setPrice(price);
result.setTg_price(tgprice);
datas.add(result);
}
} catch (JSONException e) {
e.printStackTrace();
}*/
//混合解析
try {
Gson gson=new Gson();
JSONArray array=new JSONArray(str);
for(int i=0;i<array.length();i++){
JSONObject object=array.optJSONObject(i);
Result r=gson.fromJson(object.toString(),Result.class);
datas.add(r);
}
} catch (JSONException e) {
e.printStackTrace();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
阅读全文
0 0
- Flex解析Json数组
- 解析json数组
- json数组解析
- JSON数组解析
- JSON解析数组
- android解析json数组
- android解析JSON数组
- java解析json数组
- Json解析数组实例
- Gson解析json数组
- 解析 json 数组
- Gson解析json数组
- 解析json数组
- PHP 解析JSON数组
- BOOST JSON 数组解析
- java解析json数组
- 解析数组json
- 后台解析Json数组
- 类的创建与声明
- android 购物车
- Linux(CentOS6.5)下静默安装Weblogic12c(待完成)
- java基础--------基本类型转换为字符串的互相转化
- WebSocket刨根问底(转)
- 解析json数组
- Gson
- Android TabLayout使用以及自定义TabLayout
- instanceof与class的等价性
- UVA12663 线段树+二分
- bzoj1260 [CQOI2007]涂色paint 区间DP
- Swift 算法练习
- JS中的同步和异步过程。
- tcp/ip<3>