当前位置: 首页 > 知识库问答 >
问题:

如何在json中找到任何标记

于捷
2023-03-14

我有一个json,它有一个标签“msg”。现在,如果搜索结果以json格式显示,那么这个标签就不存在了。当搜索结果为0时,这个标签的值为not found。

现在我想检查这个标签是否存在。那么如何做到这一点

以下是未找到记录时的json示例:

{"product":[{"msg":"Not Found"}]}

共有3个答案

慎懿轩
2023-03-14

您可以使用optString()检查是否有映射到键的值。如果没有这样的键,它将返回一个空字符串。如果值不是字符串且不为null,则将其转换为字符串。如果没有相应的键,则使用getString()将给出一个JSONException。

jsonObject.optString("msg")

http://developer.android.com/reference/org/json/JSONObject.html#optString(java.lang.String)

詹钊
2023-03-14

请检查下面的解决方案

try 
{ 
JSONObject obj=new JSONObject(respons);//respons is the response of the yours web sevice
JSONArray inner_json_array = obj.getJSONArray("product");
for(int j=0;j<inner_json_array.length();j++) {
   if(inner_json_array.getJSONObject(j).has("msg"))
    {
     String msg= inner_json_array.getJSONObject(j).getString("msg");
      if (msg.equals("Not Found")) {
      // do some thing
        }
      else{
      // do some thing else  
      }
    }
  }     
 } catch (JSONException e) {
        e.printStackTrace(); 
}   
夹谷山
2023-03-14

首先检查“msg”标签是否正确,然后检查字符串

try {

     if(yourjsonObject.has("msg")){ 
    {
                  if (json.getString("msg").equals("Not Found")) {  
                  // do some thing
                  }
                  else{
                  // do some thing else  
                  }
    }
   } catch (JSONException e) {
         e.printStackTrace(); 
 }
 类似资料:
  • 问题内容: 我想知道是否有任何可靠且一致的方法来获取Python包的“导入名称” /名称空间。例如; 包装 ; django-haystack 导入名称 ;草垛 要么 包装 ; ipython 导入名称 ;IPython的 到目前为止,我知道,PyPi不会存储我使用PyPiXmlRpc检查过的信息。 我还尝试自动下载包,解压缩并挖掘.egg-info,但有些包根本没有该文件夹。 任何帮助将不胜感激

  • 目前我正在使用JDK1.8。需要知道什么是javax版本。为了避免声纳违规,请尝试设置以下属性,结果是“org.xml.sax.saxNotRecognitizedException:Property”http://javax.xml.XMLConstants/property/accessExternalDTD“不被承认。“SchemaFactory SchemaFactory=SchemaFa

  • 假设我有下图中显示的线条,以极坐标格式(rho和θ)表示。这些线条是OpenCV的HoughLines函数经过一些后处理后的输出。(抱歉,我还不允许嵌入图像。) 我想做的是,给定任何一条线,找出与该线垂直的所有线,如下面的第二幅图所示。 我知道如何使用笛卡尔线来实现这一点,但我很难理解ρ和θ的性质,这两条线必须是垂直的,尽管我至少从根本上理解了极线是如何工作的。抱歉,如果这是基本的东西,但我在网上

  • 我在Intellij IDE上创建了一个Spring mvc项目,当我构建我的项目时,会显示一些消息。我怎么解决呢? 这是显示的消息: 在以下任何源中未找到插件[id:'org.springframework.boot',版本:'2.1.7.RELEASE']: Gradle核心插件(插件不在“org.Gradle”名称空间中) 插件存储库(无法解析插件工件“org.springframework

  • 它始于我试图将Google Tag Manager Gem添加到本地安装的Jekyll中。 这里有一点背景,我使用的是自制软件和rbenv<我的ruby版本是2.4。至少我认为是这样。 gem没有安装,在那之后,Jekyll开始向我发送以下消息: 运行包安装后,我得到这个错误: 所以我试着更新Rubygems。我真傻。 此消息显示在终端上: /usr/local/Cellar/ruby/2.4.1

  • 问题内容: 我应该如何阅读PHP中的任何标头? 例如自定义标头:。 问题答案: 如果 :您只需要一个标头,而不是 所有 标头,最快的方法是: ELSE IF :您将PHP作为Apache模块运行,或者从PHP 5.4开始,使用FastCGI(简单方法)运行: apache_request_headers() ELSE: 在任何其他情况下,您都可以使用(用户区实现):