【问题标题】:Convert object to JSON in serverside JavaScript aspx在服务器端 JavaScript aspx 中将对象转换为 JSON
【发布时间】:2017-01-11 11:13:57
【问题描述】:

我的应用程序在 IIS 8 (Windows 2012R2) 上的 aspx 文件中使用服务器端 JavaScript。
我想将 javascript 哈希转换为 JSON。

我的文件 test.aspx:

<%@language="javascript" Debug="true"%>
<%
var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();

var header =
{
  "typ": "JWT",
  "alg": "HS256"
};

var str = serializer.Serialize(header);
Response.Write(str);
%>

结果:["typ","alg"]
预期结果:{"typ":"JWT","alg":"HS256"}

为什么JavaScriptSerializer 不能按预期工作?

【问题讨论】:

  • 如果我对您的理解正确,您希望 serializer.Serialize(header) 返回 header?
  • 我希望它返回字符串'{"typ":"JWT","alg":"HS256"}'(为澄清添加了引号)

标签: javascript asp.net json json-serialization


【解决方案1】:

我不确定作为服务器组件的 System.Web.Script.Serialization.JavascriptSerializer 在客户端代码中的工作情况如何。

使用

也许你会得到更好的结果
var str = JSON.stringify(header);

而不是

var str = serializer.Serialize(header);

【讨论】:

  • 我正在运行服务器端代码,这与客户端代码无关。在服务器上没有 JSON 对象:JS1135: Variable 'JSON' has not been declared
  • 我唯一想到的是你发送给 Serialize 的输入是一个 JS 对象,也许这个类还没有准备好处理它(因为它肯定需要一个 .NET 对象)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-01-07
  • 1970-01-01
  • 2016-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-04
相关资源
最近更新 更多