判断json是字符串还是对象是否是有效json对象

这周碰到了很多问题,尽量把遇到的问题都记录下来。
JS判断字符串是否为json数据
根据网上朋友的回答:
function isJSON(str) {
if (typeof str == 'string') {
JSON.parse(str);
} catch(e) {
console.log(e);
console.log('It is not a string!')
}这样是不是就可以了呢?测试的时候输入“123”,居然过了,所以是有问题的,于是找到了segmentfault上的一篇问答
里面也给出了一些解决方案。
下面是博主师傅给出的解决方案:
function isJsonString(str) {
if (typeof JSON.parse(str) == "object") {
} catch(e) {
}如果解析出来的结果类型是一个对象,说明解析成功,如果是其他的类型,说明解析失败了
js判断是否是Json对象
有两种方法
1.使用正则表达式(推荐),代码如下:
if (/^[\],:{}\s]*$/.test(text.replace(/\\[&\\\/bfnrtu]/g, '@').
replace(/&...
判断一个字符串是否是合法的JSON字符串
判断一个字符串是否是合法的JSON字符串
&dependency&
&groupId&...
js判断变量是否为json对象
废话不多说。//判断obj是否为json对象
function isJson(obj){
var isjson = typeof(obj) == &object& && Object.prototy...
js中判断字符串是否为json
function isJson(){
if(typeof str == 'string'){
var obj = JSON.parse(data);
js判断字符串是否为JSON格式
function isJson(str) {
if (typeof str == 'string') {
var obj=JSON.parse(s...
js判断是否为JSON对象
jm.isJson = function(obj){
var isjson = typeof(obj) == &object& && Object.prototype.toString.call(o...
for(var item in data.resultObject) {
if(!data.resultObject[item].hasOwnProperty(&startTime&)){
isJSON(str) {
if (typeof str == 'string') {
var obj=JSON.parse(str);
前端js如何生成一个json对象,并转化为json字符串
创建json对象语法如下:
var json = {};
json .name = &name&;
js分割json对象为字符串
var query = {//数据
fileSize: 1,//文件大小
dataSize: 2,//每片大小
没有更多推荐了,&针对 &js判断字符串是否为JSON格式& 这个问题,在网上查了许多资料,都没找到自己想要的答案。
&但是看到这个帖子后,突然灵光一闪,想到一种很简单的解决方案。
&如果你对这个方法有异议,欢迎留言探讨。
解决方案& & & &
V2.0版 --- 感谢@年少轻狂识 @ 的提醒,已经对代码进行了更新
function isJSON(str) {
if (typeof str == 'string') {
var obj=JSON.parse(str);
if(typeof obj == 'object' && obj ){
} catch(e) {
console.log('error:'+str+'!!!'+e);
console.log('It is not a string!')}
v1.0 不严谨,已废弃。function isJSON(str) {
if (typeof str == 'string') {
var obj=JSON.parse(str);
if(str.indexOf('{')&-1){
return true;
return false;
} catch(e) {
console.log(e);
return false;
return false;
& & & 就像之前的帖子所说,只是单纯的用JSON.parse(str)不能完全检验一个字符串是JSON格式的字符串,有许多例外:
& &JSON.parse('123');
& & & &我们知道,JS中的数据类型分为:字符串、数字、布尔、数组、对象、Null、Undefined。&
& & & &那我们就针对这几种类型的字符串进行测试。 & & & &
function isJSON_test(str) {
if (typeof str == 'string') {
var obj=JSON.parse(str);
console.log('转换成功:'+obj);
return true;
} catch(e) {
console.log('error:'+str+'!!!'+e);
return false;
console.log('It is not a string!')
isJSON_test('123'); //numberisJSON_test('aaaa'); //stringisJSON_test('"aaa"');isJSON_test('true'); //布尔isJSON_test('["1","2"]'); //数组isJSON_test('{name:"123"}'); //对象isJSON_test('{}'); //空对象isJSON_test('null'); //nullisJSON_test('Undefined'); //UndefinedisJSON_test('{"name":"123"}'); //jsonisJSON_test('{"name":"123",}'); //不规范的json
---- v2.0新增测试 -----
isJSON_test('["1{211323}","2"]'); //数组 :含有{字符
isJSON_test('[{},"2"]'); //数组 :子项包含对象
isJSON_test('[[{},{"2":"3"}],"2"]'); //多维数组
& & & 测试结果如下图:
& & & &V1.0
& & & 从以上测试结果,以及JSON的定义 。可以得到一个规律:
如果JSON.parse能够转换成功;并且字符串中包含 { 时,那么这个字符串就是JSON格式的字符串。
& & & V2.0
& 以上测试结果,能够转换成功的有:数字、字符串、布尔、数组、空对象、null、json。 &
& 其中正确的JSON格式有: &数组、空对象、json
& 所以得出以下结论:
& 如果JSON.parse能够转换成功;并且转换后的类型为object 且不等于 null,那么这个字符串就是JSON格式的字符串。
& & & 如果大家对这个方法有异议,欢迎在下方留言,感谢。
阅读(...) 评论()公告:由于博客https升级,原博客引用http链接失效,预览及部分图片效果请查看源代码!
JSON字符串与JSON对象的区别
26885次浏览
JSON字符串与JSON对象的区别
本篇文章是对
这篇文章的补充说明,有朋友问JSON字符串与JSON对象的区别,下面说一下。
JSON对象是直接可以使用JQuery操作的格式,和js中的对象一样,可以用对象(类名)点出属性(方法)。
JSON字符串仅仅只是一个字符串,一个整体,不截取的话没办法取出其中存储的数据,不能直接使用,除非你只想alert()他;
var str2 = { &name&: &haorooms&, &sex&: &man& };
JSON字符串:
var str1 = '{ &name&: &haorooms&, &sex&: &man& }';
&JSON字符串&转化为&JSON对象&
读取JSON对象的方法
var str2 = { &name&: &haorooms&, &sex&: &man& };
就可以这样读取:
alert(str2.name);
//弹出” haorooms”。
我们遇到的JSON很少有这么简单的,比如复杂一点的JSON对象如:
var str={&GetUserPostByIdResult&:{&Age&:&33&,&ID&:&2server&,&Name&:&haorooms&}};
alert(str.GetUserPostByIdResult.Name); //弹出haorooms
此文很简单,是对之前文章的补充说明!只对新手!
相关文章:
关键词搜索判断一个字符串是否是合法的JSON字符串
&com.alibaba&
&fastjson&
&com.fasterxml.jackson.core&
&jackson-databind&
&com.google.code.gson&
* 暴力解析:Alibaba fastjson
public final static boolean isJSONValid(String test) {
JSONObject.parseObject(test);
} catch (JSONException ex) {
JSONObject.parseArray(test);
} catch (JSONException ex1) {
return false;
return true;
Jackson library
* jsonInString
public final static boolean isJSONValid2(String jsonInString ) {
final ObjectMapper mapper = new ObjectMapper();
mapper.readTree(jsonInString);
return true;
} catch (IOException e) {
return false;
* Google Gson
* jsonInString
public final static boolean isJSONValid3(String jsonInString) {
gson.fromJson(jsonInString, Object.class);
return true;
} catch(JsonSyntaxException ex) {
return false;
isJSONValid()
isJSONValid2()
isJSONValid3()
* 是否是合法的Gson字符串
* targetStr
private static boolean isGoodGson(String targetStr,Class clazz) {
if(StringUtils.isBlank(targetStr)){
return false;
new Gson().fromJson(targetStr,clazz);
return true;
} catch(JsonSyntaxException ex) {
LOG.error("targetStr={} is not a valid {}",targetStr,clazz.getName(),ex);
return false;
* 是否是合法的JsonArray (alibaba 认为前1种不是JSON串)
* 例如:[{a:b}]
[{'a':'b'}]
[{"a":"b"}]
* targetStr
public static boolean isJsonArray(String targetStr){
return isGoodGson(targetStr,JsonArray.class);
* 是否是合法的JsonObject(alibaba 认为前1种不是JSON串)
* 例如:{a:b} {'a':'b'} {"a":"b"}
* targetStr
public static boolean isJsonObject(String targetStr){
return isGoodGson(targetStr,JsonObject.class);
性能相差不太多,推荐方式二isJSONValid2()
java判断一个字符串是否是json格式
本以为判断一个字符串是否是json格式,常用的json处理工具类会有成型的方法,结果找了一下却没有发现,所以只能用异常来解决这个问题。
这肯定是个非常规的办法 ,不过可以解决问题,记录一下,有更...
JS判断字符串是否为json数据
这周碰到了很多问题,尽量把遇到的问题都记录下来。
JS判断字符串是否为json数据
根据网上朋友的回答:
function isJSON(str) {
if (typeof s...
FastJson过滤属性、判断json是否存在某个key
以下是一个通用的对象转json的方法,使用的fastjson的SimplePropertyPreFilter 对象,个人感觉比使用PropertyPreFilter的匿名内部类形式的过滤器更好用!/*...
转自 http://www.cnblogs.com/cdf-opensource-007/p/7106018.html
fastJson对于json格式字符串的解析主要用到了...
fastjson 的getString获取为null时不报错,org的json包抛出异常
使用 JSONTokener。JSONTokener.nextValue() 会给出一个对象,然后可以判断是不是你所要的对象。
String jsonStr = &....&; //json字符串
http://www.cnblogs.com/hsqdboke/p/5545183.html
Java如何将字符串转化为JSON(json-lib)
前言:关于如何转换网上的文章已经很多了,我之所以还写出来的主要目的是提供一下jar。很多博主只是提供json-lib包,其他依赖的包让自己去下载,自己在这里遇到一些坑就是,如果版本不一致会导致报错。另...
判断字符串是JSONObject还是JSONArray
使用 JSONTokener。
JSONTokener.nextValue() 会给出一个对象,然后可以动态的转换为适当的类型。String jsonStr = &....&; //json字符串
判断字符串是否是json格式
判断字符串是否是json格式
没有更多推荐了,判断字符串是否是有效json对象_百度知道
判断字符串是否是有效json对象
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
参考代码如下:import&org.apache.commons.lang.StringUimport&org.apache.commons.logging.Limport&org.apache.commons.logging.LogFimport&com.google.gson.JsonParseEimport&com.google.gson.JsonPpublic&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&}try&{new&JsonParser().parse(json);return&}&catch&(JsonParseException&e)&{logger.error(&bad&json:&&&+&json);return&}}}
IT类认证行家
采纳数:1664
获赞数:3227
有多年网站建设相关工作经验。熟悉ASP、ASP.net、VB、JavaScript、HTML等语言和CSS、Ajax等相关技术。
java判断字符串是否有效的JSON:import&org.apache.commons.lang.StringU&&import&org.apache.commons.logging.L&&import&org.apache.commons.logging.LogF&&import&com.google.gson.JsonParseE&&import&com.google.gson.JsonP&&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&&&&&&&&&&&}&&&&&&&&&&try&{&&&&&&&&&&&&&&new&JsonParser().parse(json);&&&&&&&&&&&&&&return&&&&&&&&&&&}&catch&(JsonParseException&e)&{&&&&&&&&&&&&&&logger.error(&bad&json:&&&+&json);&&&&&&&&&&&&&&return&&&&&&&&&&&}&&&&&&}&&}
为你推荐:
其他类似问题
您可能关注的内容
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 node的作用 的文章

 

随机推荐