我怎样才能阻止/避免在json被逃脱? [英] How do I stop / from being escaped in json?

查看:9
本文介绍了我怎样才能阻止/避免在json被逃脱?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

由于某种原因,带有/字符的变量被转换为/,我如何防止这种情况?

  1. 我通过运行npx http-echo-server启动在本地主机3000上侦听的回应服务器
  2. 我执行以下命令:

编码:

* def CHALLENGE_USER = '/abc/user'
* def loginJson = { user: '#(CHALLENGE_USER)' , name: 'Some Name'}
* print loginJson
* def TEST_URL = 'http://localhost:3000'
Given url TEST_URL+'/session/loginresponse'
And header Content-Type = 'application/json'
And request loginResponseJson
And method put
Then status 200

如我所料,它会打印{ "user": "/abc/user", "name": "Some Name" }

  1. http服务器日志显示&--&{";user";:";/schemes/ATT_5_55/CH_1";,;名称:&q;某个名称

  2. 空手道显示回声结果{"user":"/abc/user","name":"Some Name"}

我已尝试:

  • def challengl_user=‘/abc/user’
  • def challengl_user=";/abc/user";
  • def challengl_user=‘/abc/user’
  • def challengl_user=‘//abc//User’

在事后设置变量也不起作用:

* def loginJson = {  name: 'Some Name'}
* loginJson.user = CHALLENGE_USER

推荐答案

是,根据JSON规范:JSON: why are forward slashes escaped?

我们使用的Java库可以做到这一点。

您的服务器有问题吗?如果是这样的话--那么空手道出现了一个错误。

如果您真的想完全控制请求,请使用text,但这可能是浪费时间:https://stackoverflow.com/a/68344856/143475

这篇关于我怎样才能阻止/避免在json被逃脱?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆