wake-up-neo.net

Kann ich JSON.Stringify im Code-Behind eines ASP.Net-Projekts verwenden

Im Code-Behind eines ASP.NET-Projekts (MVP-Pattern) bekomme ich in einem der Moderatoren einen String, der etwas enthält, das dem Inhalt einer JSON-Datei ähnelt.

Dann setze ich eine der Eigenschaften der Ansicht, die dem Moderator zugewiesen ist, mit dieser Zeichenfolge.

In der Ansicht wird der String in einer TextBox angezeigt, sieht aber nicht gut aus, da er nicht mit Zeilenumbrüchen und Zeilenvorschüben strukturiert ist .. Ich weiß, dass es eine JSON-Funktion namens Stringify gibt, die solche Strings hübsch machen kann.

Kann ich diese JSON-Funktion in code-behind aufrufen? Per Beispiel, wenn ich die Eigenschaft der Ansicht im Präsentator setze?

Also habe ich es in den Moderator gesetzt:

this.view.ContentAsJson = GetContentAsJson(uuid);

Das möchte ich gerne machen, wenn es möglich ist:

this.view.ContentAsJson = JSON.Stringify(GetContentAsJson(uuid));

GetContentAsJson ist eine Funktion, die den JSON-String erstellt und zurückgibt.

Das ist meine Ansicht:

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="ContentJsonView.ascx.cs" Inherits="WebCenter.PP.PI.WebGui.View.FolderView.ContentJsonView" %>
<%@ Import Namespace="WebCenter.PP.Common.Domain" %>
<div id="DivContentJson" class="clearfix">
    <p>
        <asp:TextBox runat="server" ID="TbContentJson" TextMode="MultiLine" Height="100%" Width="100%" />
    </p>
</div>

Dies ist die Eigenschaft in der Ansicht, die die Zeichenfolge abruft:

public string ContentAsJson
{
   set
   {
       if (!string.IsNullOrEmpty(value))
       {
            TbContentJson.Text = value;
       }
       else
       {
            TbContentJson.Text = "";
       }
   }
}
8
Patrick Pirzer

JSON.stringify() Wandelt ein JavaScript-Objekt tatsächlich in eine Zeichenfolge um. Sie können dies auf der Serverseite wie folgt tun:

using System.Web.Script.Serialization;

var json = new JavaScriptSerializer().Serialize(obj);

Edit: JSON.stringify() ist eine clientseitige (Browser-) Funktionalität. Auf der Serverseite ist das also nicht möglich.

16
user3378165

Sie können so etwas verwenden 

JsonConvert.SerializeObject(ob)

Aus der Bibliothek: Newtonsoft.Json

2
danicode