代码之家  ›  专栏  ›  技术社区  ›  Huma Ali

javascript-如何通过邮件发送JSON

  •  0
  • Huma Ali  · 技术社区  · 7 年前

    我有一个C字符串变量,它具有以下序列化JSON字符串:

    {
      "Video": "1",
      "Voice": "1"
    }
    

    我想把它通过 postMessage 这样地:

    string jsonVerticalTypeQuantity = Newtonsoft.Json.JsonConvert.SerializeObject(VerticalTypeQuantity);
    
    <script>
    $(document).ready(function () {
        parent.postMessage({ "SelectedComponent": "@jsonVerticalTypeQuantity"}, "*");
    });
    </script>
    

    但是当我在浏览器中检查这个时,它会添加额外的字符,比如 &quot 为什么会这样?我如何发布JSON字符串?

    1 回复  |  直到 7 年前
        1
  •  2
  •   Tetsuya Yamamoto    7 年前

    这个 @ 指令在对服务器端razor变量使用时自动将输出字符串编码为编码的HTML。你应该把 @Html.Raw() 返回未编码JSON字符串的帮助程序:

    parent.postMessage({ "SelectedComponent": @Html.Raw(jsonVerticalTypeQuantity) }, "*"); 
    

    或者使用变量作为替代:

    @{
        string jsonVerticalTypeQuantity = Newtonsoft.Json.JsonConvert.SerializeObject(VerticalTypeQuantity);
    }
    
    <script>
    $(document).ready(function () {
        var jsonData = @Html.Raw(jsonVerticalTypeQuantity);
        parent.postMessage({ "SelectedComponent": jsonData }, "*");
    });
    </script>
    

    相关问题:

    MVC failed to make a json string in view for a variable in javascript

    推荐文章