前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java格式json和js格式json互转

java格式json和js格式json互转

作者头像
Java架构师必看
发布2021-08-03 10:58:04
6.1K0
发布2021-08-03 10:58:04
举报
文章被收录于专栏:Java架构师必看Java架构师必看

java格式json和js格式json互转

遇见问题:

在开发爬虫过程中,我们会遇见提取html页面中的json数据。由于java与js的json格式不同,故需要转化。

举例:

js中json:

代码语言:javascript
复制
{
	number: "188**727499",
	intLoginType: "4",
	areaCode: "0471",
	isBusinessCustType: "N",
	identifyType: "B",
	userLoginType: "4",
	password: "",
	randomPass: "",
	noCheck: "N",
	isSSOLogin: "Y",
	sRand: "SSOLogin"
}

java中json:

代码语言:javascript
复制
{
	"number": "188**727499",
	"intLoginType": "4",
	"areaCode": "0471",
	"isBusinessCustType": "N",
	"identifyType": "B",
	"userLoginType": "4",
	"password": "",
	"randomPass": "",
	"noCheck": "N",
	"isSSOLogin": "Y",
	"sRand": "SSOLogin"
}

我们可以很清晰地看出差别,就是java相对js的json多了双引号。

解决办法:

js格式json互转java格式json

代码语言:javascript
复制
String json = JSON.toJSON(JSON.parse(resultJson)).toString()

使用的是fastjson

代码语言:javascript
复制
<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>1.2.28</version>
		</dependency>

java格式json互转js格式json

代码语言:javascript
复制
<script type="text/javascript">
 var json=eval('('+data+')');
<script/>
代码语言:javascript
复制
ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn");
Invocable invocable = (Invocable) engine;
Object result = invocable.invokeFunction("eval", "'("+json.toString()+")'");
System.out.println(result) ;
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档