问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

java中json字符串怎么转json对象

发布网友 发布时间:2022-04-20 21:59

我来回答

5个回答

懂视网 时间:2022-05-15 08:25

这次给大家带来JSON字符串与JSON对象相互转化方法总结,JSON字符串与JSON对象相互转化的注意事项有哪些,下面就是实战案例,一起来看一下。

将json字符串转换为json对象的方法。在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键

例如:

JSON字符串:

var str = '{ "name": "name1","sex": "m" }';

JSON对象:

var obj = { "name": "name1", "sex": "w" };

一、JSON字符串转换为JSON对象

要使用上面的str1,必须使用下面的方法先转化为JSON对象:

var obj = eval('(' + str + ')'); 
//由JSON字符串转换为JSON对象,必须把文本包围在括号中,这样才能避免语法错误: "(" + str+ ")"

或者

var obj = $.parseJSON(str);
// 将JSON字符串转化为JSON对象 (jQuery)

或者

var obj= str.parseJSON();
//由JSON字符串转换为JSON对象

或者

var obj= JSON.parse(str);
//由JSON字符串转换为JSON对象

然后,就可以这样读取:

Alert(obj.name);
Alert(obj.sex);

特别注意:如果obj本来就是一个JSON对象,那么使用eval()函数转换后(哪怕是多次转换)还是JSON对象,但是使用parseJSON()函数处理后会有问题(抛出语法异常)。

二、可以使用toJSONString()或者全局方法JSON.stringify()将JSON对象转化为JSON字符串。

例如:

var str=obj.toJSONString();
//将JSON对象转化为JSON字符

或者

var str=JSON.stringify(obj);
//将JSON对象转化为JSON字符
alert(str);

总结:

上面我们也看到了在进行类型转化的时候总的来说有两种,一种是JavaScript自带的解析器,而另一种就是JSON解析器,其中javascript解析器可以编译执行任何的javascript代码所以这里隐藏了一个潜在的安全问题而JSON解析器只能识别JSON文本,而不会编译脚本所以比较安全,而且JSON解析器的速度更快。

上面的几个方法中,除了eval()函数是js自带的之外,其他的几个方法都来自json.js包。新版本的JSON 修改了 API,将 JSON.stringify() 和 JSON.parse() 两个方法都注入到了 Javascript的内建对象里面,前者变成了 Object.toJSONString(),而后者变成了String.parseJSON()。如果提示找不到toJSONString()和parseJSON()方法,则说明您的json包版本太低。

相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!

推荐阅读:

jquery中ajax执行顺序调整

Ajax与$.ajax实例详解

ajax+html轻松实现文件上传有哪些步骤

热心网友 时间:2022-05-15 05:33

给你个思路:
1、将jsonstr转为json对象 (这个可以用net.sf.json.JSONObject第三方包来实现)

2、根据refObj 这个key获取{'existType':'exist','deptType':'emp','treeNodeType':'dept'},把获取的这数据再转为json.
3、将转后的json根据existType就能取得值了 。

热心网友 时间:2022-05-15 06:51

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import java.util.List;

public class Test {
    public static void main(String[] args) {
        String jsonStr = "[{'id':'11','parentId':'root','refObj':{'existType':'exist','deptType':'emp','treeNodeType':'dept'}}]";
        List<JSONObject> list = JSON.parseArray(jsonStr, JSONObject.class);
        for (JSONObject object : list) {
            System.out.println(object.getJSONObject("refObj").getString("deptType"));
        }
    }
}

热心网友 时间:2022-05-15 08:25

public static void test4() {
String jsonStr = "[{'id':'11','parentId':'root','refObj':{'existType':'exist','deptType':'emp','treeNodeType':'dept'}}]";
Gson gson = new Gson();
Type type = new TypeToken<List<Bean>>() {
}.getType();
List<Bean> list = gson.fromJson(jsonStr, type);
for (int i = 0; i < list.size(); i++) {
Bean bean = list.get(i);
// 这就是你需要的值
String existVal = bean.getRefObj().getExistType();
System.out.println(existVal);
}
}

class Bean {
private String id;
private String parentId;
private RefObj refObj;

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}

public String getParentId() {
return parentId;
}

public void setParentId(String parentId) {
this.parentId = parentId;
}

public RefObj getRefObj() {
return refObj;
}

public void setRefObj(RefObj refObj) {
this.refObj = refObj;
}

@Override
public String toString() {
return "Bean [id=" + id + ", parentId=" + parentId + ", refObj=" + refObj + "]";
}
}

class RefObj {
private String existType;
private String deptType;
private String treeNodeType;

public String getExistType() {
return existType;
}

public void setExistType(String existType) {
this.existType = existType;
}

public String getDeptType() {
return deptType;
}

public void setDeptType(String deptType) {
this.deptType = deptType;
}

public String getTreeNodeType() {
return treeNodeType;
}

public void setTreeNodeType(String treeNodeType) {
this.treeNodeType = treeNodeType;
}

@Override
public String toString() {
return "RefObj [existType=" + existType + ", deptType=" + deptType + ", treeNodeType=" + treeNodeType + "]";
}
}

另外,你的json有错哦!在后面少了一个‘}’

热心网友 时间:2022-05-15 10:17

String jsonStr ="{'id':'11','parentId':'root','refObj':{'existType':'exist','deptType':'emp','treeNodeType':'dept'}}";
JSONObject jsonObj = new JSONObject(jsonStr);
JSONObject refObj = new JSONObject(jsonObj.getString("refObj"));
String existType = refObj.getString("existType");
System.out.println(existType);
jar使用的是org.json.jar

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
说课包括哪些方面 说课内容包括()。 如何在手机百度上删除对话记录? 结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? JAVA中如何将一个json形式的字符串转为json对象? 如何将json字符串转化成json对象 如何将json字符串 转成json对象 java json字符串怎转换成json对象? 在Windows7中,可通过双击桌面上的什么图标来查看工作组中的计算机? 我的冰箱海尔彩晶王子BCD-219最近冷藏室不制冷了,... 海尔彩晶王子冰箱,冷藏室温度怎么调不过来? 彩晶王子冰箱冷冻室一直闪整个冰箱没温度什么原因 海尔彩晶王子冰箱冷藏室不制冷什么原因 海尔大王子冰箱冷冻室不制冷,为什么按下速冻开关冷... 我家的海尔冰箱使2006年5月买的,型号是BCD-242BC(... 海尔彩晶王子BCD-248WBCS 冷冻调节图标闪烁不停 而... 海尔冰箱冷藏正常冷冻不制冷是咋回? 海尔冰箱,彩晶王子,冷冻温度设置好了,也锁定了... 海尔彩晶王子冰箱冷藏室不制冷什么原因? 请问海螺沟自驾游,需要注意些什么? 海螺沟旅游最佳时间 海螺沟旅游是什么感受 去过海螺沟的来 海螺沟先去几号营地以及沟内旅游攻略 下面哪些方法可以将JSON字符串转换为JSON对象( )。... jquery 怎么将json字符串转化为json对象 怎么把字符串转换成json对象 json字符串转化成json对象问题 json格式字符串转json对象 java中怎么json字符串转为json对象 json字符串转json对象 怎样将字符串转化为jsonobject jQuery怎么把JSON格式的字符串转换为JSON对象 java怎么将json字符串转换为json对象 js里批量把json字符串转为json对象的方法 ,是什么... js 怎么把json字符串转换成json object js怎么把字符串转换成json JSON对象和Json字符串的区别 在windows桌面双击图标,用于启动程序或什么 2020年吉林省考资料分析习题练习27? 2020年吉林省考资料分析习题练习4? 行测资料分析答题技巧?详细一点! 这是一道资料分析题!!! 公务员考试-资料分析题