说这是我的JSON Object
{
"LabelData": {
"slogan": "AWAKEN YOUR SENSES",
"jobsearch": "JOB SEARCH",
"contact": "CONTACT",
"video": "ENCHANTING BEACHSCAPES",
"createprofile": "CREATE PROFILE"
}
}
我需要知道此对象中是否存在' video`,如果存在,我需要获取此密钥的值。我试过跟随,但我无法获得这个密钥的价值。
containerObject= new JSONObject(container);
if(containerObject.hasKey("video")){
//get Value of video
}
答案 0 :(得分:17)
使用以下代码查找JsonObject
中是否存在密钥。 has("key")
方法用于查找JsonObject
中的密钥。
containerObject = new JSONObject(container);
//has method
if (containerObject.has("video")) {
//get Value of video
String video = containerObject.optString("video");
}
如果您使用optString("key")
方法获取字符串值,请不要担心JsonObject
中是否存在密钥。
答案 1 :(得分:5)
使用:
if (containerObject.has("video")) {
//get value of video
}
答案 2 :(得分:4)
containerObject = new JSONObject(container);
if (containerObject.has("video")) {
//get Value of video
}
答案 3 :(得分:3)
从源对象的结构中,我会尝试:
containerObject= new JSONObject(container);
if(containerObject.has("LabelData")){
JSONObject innerObject = containerObject.getJSONObject("LabelData");
if(innerObject.has("video")){
//Do with video
}
}
答案 4 :(得分:3)
请试试这个......
JSONObject jsonObject= null;
try {
jsonObject = new JSONObject("result........");
String labelDataString=jsonObject.getString("LabelData");
JSONObject labelDataJson= null;
labelDataJson= new JSONObject(labelDataString);
if(labelDataJson.has("video")&&labelDataJson.getString("video")!=null){
String video=labelDataJson.getString("video");
}
} catch (JSONException e) {
e.printStackTrace();
}
答案 5 :(得分:3)
尝试
SCREEN_WIDTH = container.width();
SCREEN_HEIGHT = SCREEN_WIDTH * aspectRatio;
container.height( SCREEN_HEIGHT );
答案 6 :(得分:3)
JSONObject类有一个名为“has”的方法。 如果此对象具有name的映射,则返回true。映射可以是NULL。 http://developer.android.com/reference/org/json/JSONObject.html#has(java.lang.String)
答案 7 :(得分:0)
JSONObject root= new JSONObject();
JSONObject container= root.getJSONObject("LabelData");
try{
//if key will not be available put it in the try catch block your program
will work without error
String Video=container.getString("video");
}
catch(JsonException e){
if key will not be there then this block will execute
}
if(video!=null || !video.isEmpty){
//get Value of video
}else{
//other vise leave it
}
我认为这可能会对你有所帮助