将文本转换为json
我使用Newtonsoft.Json.Net20.dll
HTML
<div id="a" runat="server">
</div>
码
string kb = "a";
string b= Newtonsoft.Json.JsonConvert.SerializeObject(kb).ToString();
a.InnerText = b;
在iis6的本地主机上显示"a"
但在互联网上
G [ ! { u^Ӹ SY L? Ŕ 11 N N N N N N N N N N N N N N N N Qx.0 = Xy6 .R〜; [吨〜/ Kz的| - WźQ&4BQ4oux | wrtLK $ Ms.4ٺ。|。 SW $ @_ӗe54ȯ`6mk* byap4ZOa ^sjӪ。 p n Y> Ӽ͊ n | 1〜M z r } Qz 9 u i v 0-ˑ!/ ST:BL〜H [4o'g / E = o 3G ގY YY r UhZ6> [。 ) er I . . K_yȞF(C v Ha>“s 4 gE G / a֓ R 1 5MU <ϊzZjVM߷d X / nաb QO֜%$ LS?/
此链接
但
当使用Newtonsoft.Json
Dictionary<string, string> companyProducts = new Dictionary<string, string>();
companyProducts.Add("product" + item.IdProduct, item.NameProduct.ToString());
string JsonCompany = JavaScriptConvert.SerializeObject(companyProducts);
此代码工作正常。
此链接
当网站上传到互联网添加新的参考。 足以将dll复制到appcode
编辑
在gloabal.asax中使用gzip
void Application_PreRequestHandlerExecute(object sender,EventArgs e){HttpApplication app = sender as HttpApplication; string acceptEncoding = app.Request.Headers [“Accept-Encoding”]; Stream prevUncompressedStream = app.Response.Filter;
if (!(app.Context.CurrentHandler is Page ||
app.Context.CurrentHandler.GetType().Name == "SyncSessionlessHandler") ||
app.Request["HTTP_X_MICROSOFTAJAX"] != null)
return;
if (acceptEncoding == null || acceptEncoding.Length == 0)
return;
acceptEncoding = acceptEncoding.ToLower();
if (acceptEncoding.Contains("gzip") )
{
// gzip
app.Response.Filter = new GZipStream(prevUncompressedStream,
CompressionMode.Compress);
app.Response.AppendHeader("Content-Encoding", "gzip");
}
else if (acceptEncoding.Contains("deflate") || acceptEncoding == "*")
{
// defalte
app.Response.Filter = new DeflateStream(prevUncompressedStream,
CompressionMode.Compress);
app.Response.AppendHeader("Content-Encoding", "deflate");
}
}
您从该页面获取的文件是一个压缩文件,其中包含一个包含异常的错误页面。 为什么它这样做我不知道。 您的全局错误处理程序可能有一个错误,导致它发送没有正确标题的压缩数据...
我假设你可以获取文件信息,现在你知道它是什么了(我只需右键点击上面的链接,然后用7zip打开文件)。
关键点是:
源文件:c: inetpub vhosts iranfairco.com httpdocs test.aspx.cs行:20
[VerificationException: Operation could destabilize the runtime.]
Newtonsoft.Json.JsonWriter..cctor() +6
[TypeInitializationException: The type initializer for 'Newtonsoft.Json.JsonWriter' threw an exception.]
Newtonsoft.Json.JsonWriter..ctor() +0
Newtonsoft.Json.JsonTextWriter..ctor(TextWriter textWriter) +16
Newtonsoft.Json.JsonConvert.SerializeObject(Object value, Formatting formatting, JsonSerializerSettings settings) +157
Newtonsoft.Json.JsonConvert.SerializeObject(Object value) +9
test.Page_Load(Object sender, EventArgs e) in c:inetpubvhostsiranfairco.comhttpdocstest.aspx.cs:20
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +50
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627
最有可能的东西与JSON转换完全无关,这是错误的,因为即使div
标签在页面源中也不显示。
在二进制编辑器中分析响应可以发现许多UTF-8序列EF BF BD
,它是字符FFFD
,它是Unicode替换字符。 这在Unicode解码失败时使用,很可能是因为您尝试使用错误的编码来解码某些内容。
上一篇: convert text to json