将文本转换为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解码失败时使用,很可能是因为您尝试使用错误的编码来解码某些内容。

链接地址: http://www.djcxy.com/p/43809.html

上一篇: convert text to json

下一篇: IIS 6.0 Gzip Compression in aspx page