`
heipark
  • 浏览: 2075310 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

判断字符串是否是有效json对象(java + gson )

    博客分类:
  • Java
 
阅读更多
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import com.google.gson.JsonParseException;
import com.google.gson.JsonParser;

public class JsonUtils {

	protected final static Log logger = LogFactory.getLog(JsonUtils.class);

	public static boolean isBadJson(String json) {
		return !isGoodJson(json);
	}

	public static boolean isGoodJson(String json) {
		if (StringUtils.isBlank(json)) {
			return false;
		}
		try {
			new JsonParser().parse(json);
			return true;
		} catch (JsonParseException e) {
			logger.error("bad json: " + json);
			return false;
		}
	}
}

 

--end

 

 

分享到:
评论
4 楼 heipark 2014-12-02  
useryang 写道
说到底还是通过是否解析异常来判断的。。

useryang 写道
说到底还是通过是否解析异常来判断的。。

看下2楼的实现
3 楼 useryang 2014-11-27  
说到底还是通过是否解析异常来判断的。。
2 楼 nk_tocean 2014-01-23  
public static boolean isGoodJson(String json) {
        if (StringUtils.isBlank(json)) {
            return false;
        }
        try {
            JsonParser jsonParser = new JsonParser();
            JsonElement jsonElement =  jsonParser.parse(json);
            return jsonElement.isJsonObject();
        } catch (JsonSyntaxException e) {
            logger.error(json + "is invalid json str", e);
            System.out.println("exception");
        }

        return false;
    }
1 楼 gxz1989611 2013-11-28  
    @Test
    public void testIsGoodJson(){
    	String str = "ddsfa";
    	if(isGoodJson(str)){
    		System.out.println(str + " is good json");
    	} else {
    		System.out.println(str + " is bad json");
    	}
    }
    
    public static boolean isGoodJson(String json) {  
        if (StringUtils.isBlank(json)) {  
            return false;  
        }  
        try {  
            new JsonParser().parse(json);
            return true;  
        } catch (JsonParseException e) {  
            System.out.println("bad json: " + json);  
            return false;  
        }  
    }

结果
ddsfa is good json

相关推荐

Global site tag (gtag.js) - Google Analytics