Android Json解析器问题是将所有参与者的值放入arraylist
使用json jason解析器,但我没有向arraylist中添加多个标记值,我希望使用Actor将$t标记解析到arraylist中Android Json解析器问题是将所有参与者的值放入arraylist,android,json,Android,Json,使用json jason解析器,但我没有向arraylist中添加多个标记值,我希望使用Actor将$t标记解析到arraylist中 { "media$group":{ "media$credit":[ { "$t":"Murison Dunn", "role":"Writer", "scheme":"urn:ebu" }, { "$t":"Randolph Scott", "role":"Actor", "scheme":"urn:ebu" }, { "$t":"Forrest Tucker
{
"media$group":{
"media$credit":[
{
"$t":"Murison Dunn",
"role":"Writer",
"scheme":"urn:ebu"
},
{
"$t":"Randolph Scott",
"role":"Actor",
"scheme":"urn:ebu"
},
{
"$t":"Forrest Tucker",
"role":"Actor",
"scheme":"urn:ebu"
},
{
"name":"Mala Powers",
"role":"Actor",
"scheme":"urn:ebu"
},
{
"$t":"J. Carrol Naish",
"role":"Actor",
"scheme":"urn:ebu"
},
{
"$t":"Edgar Buchanan",
"role":"Actor",
"scheme":"urn:ebu"
},
{
"name":"Myron Healey",
"role":"Actor",
"scheme":"urn:ebu"
},
{
"$t":"Howard Petrie",
"role":"Actor",
"scheme":"urn:ebu"
},
{
"name":"Ray Teal",
"role":"Actor",
"scheme":"urn:ebu"
},
{
"$t":"William Forrest",
"role":"Actor",
"scheme":"urn:ebu"
},
{
"$t":"Denver Pyle",
"role":"Actor",
"scheme":"urn:ebu"
},
{
"$t":"Trevor Bardette",
"role":"Actor",
"scheme":"urn:ebu"
},
{
"$t":"Kenneth Tobey",
"role":"Actor",
"scheme":"urn:ebu"
}
]
},
{
"media$group":{
"media$credit":[
{
"$t":"Murison",
"role":"Writer",
"scheme":"urn:ebu"
},
{
"$t":"Scott",
"role":"Actor",
"scheme":"urn:ebu"
},
{
"$t":"Tucker",
"role":"Actor",
"scheme":"urn:ebu"
}
{
"name":"Powers",
"role":"Actor",
"scheme":"urn:ebu"
}
]
},
{
"media$group":{
"media$credit":[
{
"$t":"Dunn",
"role":"Writer",
"scheme":"urn:ebu"
},
{
"$t":"J.Naish",
"role":"Actor",
"scheme":"urn:ebu"
},
{
"$t":"Buchanan",
"role":"Actor",
"scheme":"urn:ebu"
},
{
"$t":"Healey",
"role":"Actor",
"scheme":"urn:ebu"
},
{
"$t":"Petrie",
"role":"Actor",
"scheme":"urn:ebu"
}
]
}
}
然而,我的主要问题是,我需要将$t标记中的多个项目放入arraylist。我的代码是:
JSONObject jsonmediagrop=videoObject.getJSONObject("media$group");
JSONArray itemsmediarole = jsonmediagrop.getJSONArray("media$credit");
for(int l=0;l<itemsmediarole.length();l++){
JSONObject Objectrole = itemsmediarole.getJSONObject(l);
strrole=Objectrole.getString("Role");
Log.v("Role", strrole);
if(strrole.equals("Actor"))
{
stractor=Objectrole.getString("$t") + "," + stractor;
Log.v("stractor", stractor);
maprole.put("$t", stractor);
myrolelist.add(maprole);
}
}
JSONObject-jsonmediagrop=videoObject.getJSONObject(“媒体$group”);
JSONArray itemsmediarole=jsonmediagrop.getJSONArray(“媒体$credit”);
对于(int l=0;l您的JSON无效。当我向下滚动您的JSON列表时,您定义了同名数组。这就是为什么它使用多个键“role”值的原因。好的,在阅读了您在另一个答案中的注释后,我决定帮助您。
解析我的也有很多问题。我做了很多研究
在我的代码中,我试图获取rstp url链接
我希望你能看看它并解决你的问题。
这是我的工作代码
try {
JSONObject obj = new JSONObject(json);
String entry = obj.getString("entry");
JSONObject enObj = new JSONObject(entry);
String group = enObj.getString("media$group");
JSONObject grObj = new JSONObject(group);
String content = grObj.getString("media$content");
JSONArray array = grObj.getJSONArray("media$content");
for(int j=0; j<array.length(); j++){
JSONObject thumbs = array.getJSONObject(j);
String url = thumbs.getString("url");
urls[j] = url;
Log.d(TAG, url);
//data.setThumbUrl(thumbUrl);
}
Log.v(TAG, content);
} catch (Exception e) {
Log.e(TAG, e.toString());
}
试试看{
JSONObject obj=新的JSONObject(json);
String entry=obj.getString(“entry”);
JSONObject enObj=新的JSONObject(条目);
String group=enObj.getString(“媒体$group”);
JSONObject grObj=新的JSONObject(组);
String content=grObj.getString(“媒体$content”);
JSONArray数组=grObj.getJSONArray(“媒体$content”);
对于(int j=0;jj您当前面临的问题是什么?当我将json数组中的所有参与者添加到arraylist中时,json数组无效,但发现这些值,例如第一个数组具有所有12个参与者名称,第二个数组具有12+3=15个参与者,第三个数组具有15+4=19。但我希望进入arraylist中,第一个数组具有12,第二个数组具有3个,第三个数组仅具有4个参与者名称。这是我的sue bro.请检查您在Kenneth Tobey、Trevor Bardette、丹佛派尔、William Forrest、Ray Teal、Howard Petrie、Myron Healey、Edgar Buchanan、J.Carrol Naish、Mala Powers、Forrest Tucker、Randolph Scott中的json数组。这是第一个标记数据,第二个是-Kenne Duncan、Adriene Dore、Charles Starrett、Kenneth Tobey、Trevor Bardettet、丹佛派尔、William Forrest、 Ray Teal,Howard Petrie,Myron Healey,Edgar Buchanan,J.Carrol Naish,Mala Powers,Forrest Tucker,Randolph Scott…这里前三个数据是第二个数组,但这也是将数组第一个数据添加到第二个数组中。这是youtube api Webservice,我想告诉所有来自媒体$group tagYour JSON的演员姓名。懒惰忍者已经为您发布了代码。我t将根据您的JSON完美工作。+1为他。bro我希望所有$t值都输入到相关演员角色标记的arraylist中首先,获取角色标记的值,如果是字符串,则输入“$t”的值但是我声明了上面的代码,但是我的逻辑中有一些错误,将第一个数组数据添加到第二个数组中,将第二个数组数据添加到第三个数组中…如何解决它BoolAnx for response bro。但是我希望所有参与者的名称都来自$t标记
try {
JSONObject obj = new JSONObject(json);
String entry = obj.getString("entry");
JSONObject enObj = new JSONObject(entry);
String group = enObj.getString("media$group");
JSONObject grObj = new JSONObject(group);
JSONArray array = grObj.getJSONArray("media$credit");
for(int j=0; j<array.length(); j++){
JSONObject credits = array.getJSONObject(j);
String role = credits.getString("role");
Log.d(TAG, role);
}
} catch (Exception e) {
Log.e(TAG, e.toString());
}