当前位置: 首页 > 知识库问答 >
问题:

使用ESAPI编码器对JSON进行编码

蓬宾白
2023-03-14

我在服务器端对JSON进行了编码(使用ESAPI编码器),然后客户机检索bean的字段并进行进一步的处理。

在服务器端

JSONBean bean=new JSONBean();
//populate the bean
Gson gson=new Gson();
String jsonString = gson.toJson(bean);
String JSEscapedStr=ESAPI.encoder().encodeForJavaScript(jsonString);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(JSEscapedStr);

编码的JSON字符串

\x7b\x22name\x22\x3a\x22sameer\x22,\x22company\x22\x3a\x22company\x22,\x22designation\x22\x3a\x22developer\x22\x7d

在客户端

   var JSONObj=JSON.parse(data);
    var name=JSONObj["name"];
    var company=JSONObj["company"];
    var designation=JSONObj["designation"];
    //process these variable in javascript
            var jsonEncoded="\x7B\x22name\x22\x3A\x22Sameer\x22,\x22company\x22\x3A\x22Company\x22,\x22designation\x22\x3A\x22Developer\x22\x7D";
            var JSONObj=JSON.parse(jsonEncoded);
            console.log(JSONObj);
            var name=JSONObj["name"];
            var company=JSONObj["company"];
            var designation=JSONObj["designation"];
            console.log(name);
            console.log(company);
            console.log(designation);

共有1个答案

唐法
2023-03-14
  1. 您应该只对有效负载进行编码(这应该在Gson本身完成),而不是对整个JSon树进行编码。
  2. esapi.encoder().encodeforJavaScript旨在为JavaScript-methods/functions编码参数或函数参数。
 类似资料:
  • 我试图防止CRLF注入(在用户输入很少的url中),并试图对url中的用户输入进行编码。我知道我也可以使用输入验证,但如果我使用ESAPI编码器,它是否有相应的解码器?如果它有,那么它是什么?如果不是,那么可以做什么来执行相同的编码和解码?

  • 问题内容: 我是python的新手(我使用python 3),并且我尝试使用JSon中的一个字符串和两个列表作为成员序列化一个类。我发现python标准中有一个json库,但似乎我需要手动实现序列化方法。是否有一个JSon编码器,我可以在其中简单地传递一个对象,并以字符串形式接收序列化的对象,而无需实现序列化方法。例: 谢谢。 问题答案: 不了解任何预构建的内容,但是如果您的对象足够简单,则可以编

  • 在其他一些论坛中,提到使用HTML消毒剂。什么是正确的方法,请…

  • 问题内容: 我正在尝试使用Avro来读取和写入Kafka的邮件。有没有人有使用Avro二进制编码器对将放入消息队列中的数据进行编码/解码的示例? 我需要的是Avro而不是Kafka。或者,也许我应该考虑其他解决方案?基本上,我试图在空间方面找到一种更有效的JSON解决方案。刚刚提到了Avro,因为它可以比JSON紧凑。 问题答案: 我终于想起要询问Kafka邮件列表,并得到以下答复,效果很好。 是

  • 问题内容: 我正在开始使用Google App Engine。我想像Twitter一样进行AJAX聊天。 服务器JSON对响应进行编码, 结果:您好! 还行吧。但是替换RPCHandler 结果:错误。服务器不可访问(获取) 如何对实体进行JSON编码? 问题答案: 在App Engine Python中,您可以使用此脚本将db.Models编码为JSON。您可能必须自定义某些部分,例如DateT

  • 我正在开发一个使用C作为练习的小型交易机器人。他将首先收到基本信息,如我们的资本和日常股票价值(表示为迭代)。 这是我的专业课: 从最后两个属性可以看出,我使用指数移动平均原理和趋势跟踪算法。 我从报纸上读到过http://www.cis.umac.mo/~fstasp/paper/jetwi2011。pdf(主要在第3页)并希望实现他们与我们共享的伪代码;它是这样的: 到目前为止,我是这样做的: