java格式json和js格式json互转

遇见问题:

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


举例:

js中json:

{
	number: "188**727499",
	intLoginType: "4",
	areaCode: "0471",
	isBusinessCustType: "N",
	identifyType: "B",
	userLoginType: "4",
	password: "",
	randomPass: "",
	noCheck: "N",
	isSSOLogin: "Y",
	sRand: "SSOLogin"
}

java中json:

{
	"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

String json = JSON.toJSON(JSON.parse(resultJson)).toString()

使用的是fastjson

<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>1.2.28</version>
		</dependency>


java格式json互转js格式json

<script type="text/javascript">
	var json=eval('('+data+')');
<script/>
ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn");
Invocable invocable = (Invocable) engine;
Object result = invocable.invokeFunction("eval", "'("+json.toString()+")'");
System.out.println(result) ;


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java是一种面向对象的编程语言,目前在应用程序开发中被广泛使用。校验JSON格式Java中一项非常重要的任务,在开发中经常需要对JSON数据进行格式验证。JSONJavaScript对象表示法的缩写,它是一种轻量级的数据交换格式。 在Java中,我们可以使用标准的JSON库来校验JSON格式。例如,可以使用Jackson、Gson或JSON-lib等库来解析JSON数据并验证其格式是否正确。这些库都提供了丰富的API来校验JSON格式,并且易于使用。 下面是使用Jackson库进行JSON格式校验的示例代码: ```java import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.exc.MismatchedInputException; public class JsonValidator { private static ObjectMapper objectMapper = new ObjectMapper(); public static boolean isValidJson(String jsonStr) { try { JsonNode jsonNode = objectMapper.readTree(jsonStr); return true; } catch (MismatchedInputException e) { return false; } catch (Exception e) { return false; } } } ``` 该代码会将JSON字符串传入isValidJson()方法中,使用Jackson库的readTree()方法来解析JSON数据,并返回解析结果。如果解析失败,则说明JSON格式不正确,方法会返回false。如果解析成功,则说明JSON格式正确,方法返回true。 使用上述代码可以轻松地校验JSON格式。当然,也可以在需要的情况下进行定制化的校验,例如校验JSON键名、键值类型等,以适应各种业务需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值