㈠ jsonobject怎么获取json中某个值
㈡ json数据请问怎么遍历
如果是js中遍历使用
var anObject = {one:1,two:2,three:3};//对json数组each
$.each(anObject,function(name,value) {
});
如果是java代码直接用for循环就行了,说白了json也是数组的一种,json对象和json数组都可以
//遍历json数组
String json1 = "{data:[{name:'Wallace'},{name:'Grommit'}]}";
jsonObjSplit = new JSONObject(json1);
JSONArray ja = jsonObjSplit.getJSONArray("data");
for (int i = 0; i < ja.length(); i++) {JSONObject jo = (JSONObject) ja.get(i);System.out.println(jo.get("name"));}
//JSONObject遍历json对象
String json2 = "{name:'Wallace',age:15}";
jsonObj = new JSONObject(json2);
for (Iterator iter = jsonObj.keys(); iter.hasNext();) {String key = (String)iter.next();System.out.println(jsonObj .getString(Key));}
㈢ android中将json转为list
Stringjson="{'斗脊count':1,'gid':100000,'id':1,'text':'100000'},{'count':70484,'gid':100000,'id':1,'text':'101252'}";
//把json字符串转化为json对象
JSONObjectjsonObject=JSONObject.fromObject(json);
ArrayList<obj>list=newArrayList<obj>();
//遍历json对象
for(inti=0;i<jsonObject.size();i++){
Strings=jsonObject.getString(i);
JSONObjectdata=JSONObject.fromObject(s);
objobj1=newobj();
obj1.list_id=data.getString("id");
空贺渗obj1.list_text=data.getString("text"拍闭);
list.add(obj1);
}
classobj{
privatestringlist_id;
privatestringlist_text;
}
㈣ android h5返回json怎么解析
先将字符串转换为json对象或数组这段字符串中以]结尾为数组JSonArrayarray=newJSonArray遍历这个数组获得对应的对象for(inti=0;i
㈤ android 解析json二维数组
按javascript的语法存取和解析。你例子中有明显错误,js的数组和对象不分,php也不可能生成这样的json。
按javascript的语法存取和解析。学会js,按js的规矩办。
php下可用$a=json_decode()解码这个串,然后按js的规矩
echo $a[0]['uname'];显示York
echo $a[0]['tag']['2'];显示北京
可以用foreach逐层遍历,.和PHP的数组同样的。
㈥ android怎么遍历jsonobject
android 读取json数据(遍历JSONObject和JSONArray)
•public String getJson(){
• String jsonString = "{\"FLAG\":\"flag\",\"MESSAGE\":\"SUCCESS\",\"name\":[{\"name\":\"jack\"},{\"name\":\"lucy\"}]}";//json字符串
• try {
• JSONObject result = new JSONObject(jsonstring);//转换为JSONObject
•族拍 int num = result.length();
• JSONArray nameList = result.getJSONArray("name");//获取JSONArray
• int length = nameList.length();
• String aa = "";
•兆伍羡 for(int i = 0; i < length; i++){//遍历JSONArray
• Log.d("debugTest",Integer.toString(i));
• JSONObject oj = nameList.getJSONObject(i);
• aa = aa + oj.getString("name")+"|";
•
• }
• Iterator<?> it = result.keys();
• String aa2 = "";
• String bb2 = null;
• while(it.hasNext()){//遍历JSONObject
• bb2 = (String) it.next().toString();
• aa2 = aa2 + result.getString(bb2);
•
•橘握 }
• return aa;
• } catch (JSONException e) {
• throw new RuntimeException(e);
• }
• }
㈦ Android Json串中添加转义符
一:解袜档析普通json
1:不带转化字符
格式{"type":"ONLINE_SHIPS","message":{"currentTime":1400077615368,"direction":0,"id":1,"latitude":29.5506,"longitude":106.6466}}
JSONObject jsonObject = new JSONObject(jsonstr).getJSONObject("message");
System.out.println("currentTime:"+jsonObject.get("currentTime"));
System.out.println("direction:"+jsonObject.get("direction"));
System.out.println("latitude:"+jsonObject.get("latitude"));
System.out.println("longitude:"+jsonObject.get("longitude"));
jsonarray
JSONObject jo = ja.getJSONArray("cargoList").getJSONObject(0);
2:带转义字型好此符的json格式
{"type"卜迅:"ONLINE_SHIPS","message":"{\"currentTime\":1400077615368,\"direction\":0,\"id\":1,\"latitude\":29.5506,\"longitude\":106.6466}"}
其实也很简单,先把它转化成字符串就可以了
JSONObject jsonObject = new JSONObject(jsonstr);
//先通过字符串的方式得到,转义字符自然会被转化掉
String jsonstrtemp = jsonObject.getString("message");
System.out.println("message:"+jsonstrtemp);
jsonObject = new JSONObject(jsonstrtemp);
System.out.println("currentTime:"+jsonObject.get("currentTime"));
System.out.println("direction:"+jsonObject.get("direction"));
System.out.println("latitude:"+jsonObject.get("latitude"));
System.out.println("longitude:"+jsonObject.get("longitude"));
二:遍历Json对象
JSONObject ports = ja.getJSONObject("ports");
Iterator<String> keys = ports.keys();
while(keys.hasNext()){
String key=keys.next();
String value = ports.getString(key);
}
三:使用Gjson,json与对象相互转化
使用Gson轻松将java对象转化为json格式
String json = gson.toJson(Object);//得到json形式的字符串
User user = gson.fromJson(json,User.class);//得到对象
转化成list
import java.util.List;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.lc.function.Action;
import com.lc.models.Groups;
public class MapSearch {
private void ParseData(String _data)
{
Gson gson = new Gson();
List<Groups> ps = gson.fromJson(_data, new TypeToken<List<Groups>>(){}.getType());
System.out.println(ps.get(0).getGroup_name());
}
}