⑴ android Json解析
用JSONObject 这个开源库,或者用android的 Gson开源库
JSONObject jsonObj = new JSONObject(json字符串);
JSONArray array = jsonObj.getJSONArray("result");
⑵ Android json解析
关于json解析有很多第三方的jar包可以使用,如gson,也可以使用android自带的工具类org.json包下,这里你可以使用JSONTokener(json解析类 ),例:
// {
// "phone" : ["12345678", "87654321"], // 数组
// "name" : "yuanfei89", // 字符串
// "age" : 100, // 数值
// "address" : { "country" : "china", "province" : "jiangsu" }, // 对象
// "married" : false // 布尔值
// }
private static final String JSON =
"{" +
" \"phone\" : [\"12345678\", \"87654321\"]," +
" \"name\" : \"yuanfei89\"," +
" \"age\" : 100," +
" \"address\" : { \"country\" : \"china\", \"province\" : \"jiangsu\" }," +
" \"married\" : false," +
"}";
try {
JSONTokener jsonParser = new JSONTokener(JSON);
// 此时还未读取任何json文本,直接读取就是一个JSONObject对象。
// 如果此时的读取位置在"name" : 了,那么nextValue就是"yuanfei89"(String)
JSONObject person = (JSONObject) jsonParser.nextValue();
// 接下来的就是JSON对象的操作了
person.getJSONArray("phone");
person.getString("name");
person.getInt("age");
person.getJSONObject("address");
person.getBoolean("married");
} catch (JSONException ex) {
// 异常处理代码
}
可参考:http://www.open-open.com/lib/view/open1326376799874.html
⑶ 怎么使用android自带的json解析string数据
用json_encode()函数对数组进行JSON编码。 以上例程会输出: {"a":1,"b":2,"c":3,"d":4,"e":5}[1] 当有中文字符时,当直接使用json_encode() 函数会使汉字不能正常显示。 所以有了这个适用性比较广的函数 ch_json_encode() 来解决这个问题。
⑷ android json解析三种方式哪种效率最高
用org.json以及谷歌提供gson来解析json数据的方式更好一些。
安卓下通常采用以下几种方式解析json数据:
1、org.json包(已经集成到android.jar中了)
2、google提供的gson库
3、阿里巴巴的fastjson库
4、json-lib
以Google出品的Gson为例,具体步骤为:
1、首先,从 code.google.com/p/google-gson/downloads/list下载GsonAPI:
google-gson-1.7.1-release.zip 把gson-1.7.jar 到libs(项目根目录新建一个libs文件夹)中。 可以使用以下两种方法解析JSON数据,通过获取JsonReader对象解析JSON数据。
代码如下:
String jsonData = "[{\"username\":\"arthinking\",\"userId\":001},{\"username\":\"Jason\",\"userId\":002}]";
try{
JsonReader reader = new JsonReader(new StringReader(jsonData));
reader.beginArray();
while(reader.hasNext()){
reader.beginObject();
while(reader.hasNext()){
String tagName = reader.nextName();
if(tagName.equals("username")){
System.out.println(reader.nextString());
}
else if(tagName.equals("userId")){
System.out.println(reader.nextString());
}
}
reader.endObject();
}
reader.endArray();
}
catch(Exception e){
e.printStackTrace();
}
2、使用Gson对象获取User对象数据进行相应的操作:
代码如下:
Type listType = new TypeToken<LinkedList<User>>(){}.getType();
Gson gson = new Gson();
LinkedList<User> users = gson.fromJson(jsonData, listType);
for (Iterator iterator = users.iterator(); iterator.hasNext();) {
User user = (User) iterator.next();
System.out.println(user.getUsername());
System.out.println(user.getUserId());
}
3、如果要处理的JSON字符串只包含一个JSON对象,则可以直接使用fromJson获取一个User对象:
代码如下:
String jsonData = "{\"username\":\"arthinking\",\"userId\":001}";
Gson gson = new Gson();
User user = gson.fromJson(jsonData, User.class);
System.out.println(user.getUsername());
System.out.println(user.getUserId());
⑸ 怎么在android客户端解析json数据
这个格式使用如下代码解析try { JSONObject jsonObject = new JSONObject(json); JSONObject weatherinfo = jsonObject.getJSONObject("weatherinfo"); System.out.println(weatherinfo.getString("city")); System.out.println(weatherinfo.getString("cityid")); System.out.println(weatherinfo.getString("temp")); System.out.println(weatherinfo.getString("WD"));} catch (JSONException e) { e.printStackTrace();} 其中第一行代码 JSONObject jsonObject = new JSONObject(json);//json 即为你的字符串 比如现在天气信息是多个城市的,并非只有北京市。{"weatherinfo":[{"city":"北京","cityid":"101010100","temp":"4","WD":"东风","WS":"2级","SD":"75%","WSE":"2","time":"10:45","isRadar":"1","Radar":"JC_RADAR_AZ9010_JB","njd":"暂无实况","qy":"1011"},{"city":"天津","cityid":"101010100","temp":"4","WD":"东风","WS":"2级","SD":"75%","WSE":"2","time":"10:45","isRadar":"1","Radar":"JC_RADAR_AZ9010_JB","njd":"暂无实况","qy":"1011"}]}以下代码适用。 try { JSONObject jsonObject=new JSONObject(json); JSONArray jsonArray=jsonObject.getJSONArray("weatherinfo"); for (int i=0;i<jsonArray.length();i++){ JSONObject object = jsonArray.getJSONObject(i); System.out.println(object.getString("city")); System.out.println(object.getString("cityid")); System.out.println(object.getString("temp")); System.out.println(object.getString("WD")); }} catch (JSONException e) { e.printStackTrace();}
⑹ android怎么解析json文件
android 下有自带的对json字符串处理的包的,都在org.json包下
java">//注意要抛出异常,用try,catch或直接抛异常
JSONObjectobject=newJSONObject(result);
//获取resultcode对象,其它类推
Stringresultcode=object.getString("resultcode");
//获取data列表
JSONArrayarray=object.getJSONArray("data");
for(inti=0;i<array.length;i++){
//获取列表第i个json对象
JSONObjectobj=array.get(i);
//获取经度、维度
Stringlongitude=obj.getString("O_LNG");
Stringlatitude=obj.getString("O_LAT");
}
当然,你用其它的json处理的包也行,大同小异
⑺ android 手机怎样解析json数据
可以用一些开源的Java库,就可以把这些json数据直接变为Java对象及数组了,然后用Java处理起来很方便。
常用的处理json的库有gson和json-lib,你网络一下可以下到,网上也有例子
⑻ 安卓中返回的json数据怎么解析
WebService返回的Json字符串或者是XML文件,看你要怎么样用,Android中有解析Json的对象如JSONObject,JsonArray等,着键你的WEBService要配置好。
⑼ android Json解析
整体是一个JsonObject
JsonObject json = new JsonObject();//括号里面用DoGet方法访问你的的接口地址URL
int a = json.GetInt("result");
第二项是一个JsonArray
JsonArray arr = new JsonArray(json.getJSONArray("desc"));
之后再对arr进行操作就可以取出里面的每一项
⑽ android中这样的JSON数据应该如何解析,
//json我的理解就是一系列键值对,只要KEY值对了,对应数据格式也对了,那就可以了!~
JsonObject j = ...//此处是获取json的方法,自定
boolean b = j.getBoolean("result");//取出“result”对应的值,这里的结果应该
//是"true";
JsonArray ja = j.getJsonArray("asks");//取出“asks”对应的值,因为asks对应的值
//中含有方括号,所以这是JsonArray型数据,需要取出进一步解析;JsonArray可以与数组
//进行比较理解,我个人是这样的,供参考
for(int i = 0; i < ja.length(); i++){
JsonArray ja1 = ja.getJsonArray(i);//获取ja中的第一个元素,因为这个元素
//也是jsonArray,所以可以再进一步解析
double d1 = ja1.getDouble(0);//jsonArray中没有getFloat()这个方法
//,自行转型就可以了
double d2 = ja1.getDouble(1);//
} 以上,希望对你有所帮助