2009-06-29 20 views

cevap

10
+0

, .NET 3.5'de yapabildiğiniz gibi bir yardımcı yöntem oluşturmak ister. Scott'ın burada bahsettiği kütüphaneye sahip değilim ama kendiminkini yapmak istiyorum. Sanırım bu daha kolay olurdu: http://weblogs.asp.net/scottgu/archive/2007/10/01/tip-trick-building-a-tojson-extension-method-using-net- 3-5.aspx – PositiveGuy

+0

Ne demek istiyorsun? Bu iş gerçekten çok kolay ... – jfar

+2

işyerinde .net 2.0 ile sıkışmış ve json.net kullanıyorum, iyi çalışıyor. –

1

JSON.org, C# 'de yarım düzineden fazla dahil olmak üzere çok sayıda dize serisine başvuruda bulunmaktadır. LGPL lisansı ve iyi tasarlanmış Json.NET ile JSONsharp da dahil olmak üzere API ve lisans gereksinimlerinizi karşılayan bir tane bulabilmeniz gerekir.

Serileştirdiğiniz şey oldukça basitse, belirli bir amaç için kendi yazmanızı yazmak çok da zor değil. JSON.org sitesi, sözdizimine sahiptir ve çok düz bir işlemdir.

+0

, Json.NET kullanamaz, .NET 3.5 SP1 gerektirir. – PositiveGuy

+0

JSONsharp istediğin gibi olmalı. Bu LGPL, kaynak içerir, bir nesne almak ve serileştirmek için bir imkansız ve sadece gerektirir. Net 2.0. – lavinio

11

.NET 2.0 ile uyumlu olan ASP.NET Ajax 1.0'dan JavaScriptSerializer sınıfını kullanabilirsiniz.

+0

, ASP.NET AJAX denetimlerini kullanmadığım için bu çerçeveyi yüklemez. JQuery – PositiveGuy

+0

kullanıyoruz Bir sunucu tarafı sınıfı var. Bu sınıfı kullanmak için istemci tarafı kodunu kullanmanız gerekmez. –

+0

Evet, biliyorum. .NET 3.5 – PositiveGuy

1

.NET tarafında bir RPC sunucusu oluşturmaya mı çalışıyorsunuz? Eğer öyleyse Jayrock'a bak (jayrock.berlios.de). Kaynak kodunu alırsınız ve 2.0 altında derlenecektir.

Ayrıca bir RPC sunucusu ayarı

bir çırpıda:

using Jayrock; 
using Jayrock.JsonRpc; 
using Jayrock.JsonRpc.Web; 
using Jayrock.Json; 
using Jayrock.Json.Conversion; 


namespace myRPCService 
{ 
    [JsonRpcService("Service")] 
    public class Service : JsonRpcHandler 
    { 

     [JsonRpcMethod("call", Idempotent = true)] 
     public string call(string value) 
     { 
      JsonObject oJSON = JsonConvert.Import(typeof(JsonObject), value) as JsonObject; 
      ... 
      return oJSON.ToString(); 
     } 
    } 
} 
+0

sadece bir çağrı ile JSON dönmek için çalışıyor.Ben nedeniyle Sitecore eski bir sürümü ile mevcut bağımlılığına Json.NET son sürümünü kullanamadı çünkü ashx sayfa – PositiveGuy

-1

kod aşağıda kullanmak JSON mesajı için ve benim için iyi çalışıyor.

public static class JSONHelper 
{ 
    public static string ToJSON(this object obj) 
    { 
     JavaScriptSerializer serializer = new JavaScriptSerializer(); 
     return serializer.Serialize(obj); 
    } 
} 

WCF'de JSON serileştiricisini çağırma.

[OperationContract] 
[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Json)] 
public string LoadDetails() 
{ 
    LogDetails objSubLog = new LogDetails(); 
    List<LogDetails> lstLogdetails; 
    DAL objDAL = new DAL(); 
    lstLogdetails = objDAL.GetLog("ALL", objSubLog); 
    return lstLogdetails.ToJSON(); 
} 
+0

Bu çok faydalı oldu. –

+0

'JavaScriptSerializer' JavaScriptSerializer kullanılamaz .NET 2.0 https://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer(v=vs.90).aspx – TarasB

+0

için kullanılamaz .net 2.0 – Bogdan

1

Mono'nun System.Json uygulamasının C# 2.0 sürümüne birkaç küçük değişiklikle geri dönebildi.

here'dan 5 dosyaya ve here'dan JavaScriptReader.cs dosyasına ihtiyacınız olacak.

System.Json ile herhangi bir ilkel olmayan veri türünü el ile serileştirmeniz gerekeceğini unutmayın. (bkz. here)

İlgili konular