3

サードパーティ開発者向けの設定を作成および保存するための柔軟なフレームワークを作成しています。

私たちが行ったより良い選択の 1 つは、開発者が JSON を使用して独自の設定を作成し、後でオブジェクトを単純にシリアル化するシステムを作成することでした。

IE

public class YammerConfig
{
    public string yammerClientId { get; set; }
    public string yammerNetwork { get; set; }

    public YammerConfig(string js)
    {
        var ser = new JavaScriptSerializer();
        var sam = ser.Deserialize<YammerConfig>(js);
        yammerClientId = sam.yammerClientId;
        yammerNetwork = sam.yammerNetwork;
    }
}

これは、一意の情報セット用に新しいテーブルを再構成することなく、データベースに設定を保存する効果的な方法です。

JavaScript 自体が行うように、これをさらに一歩進めて、手動でシリアル化する必要のないオブジェクトをオンザフライで作成したいと考えています。

json.parse.NET C# で同等のものを作成することは可能ですか?

4

2 に答える 2

3

拡張メソッドを使用しない理由

例えば。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Script.Serialization;

namespace Stackoverflow.Helpers
{
    public static class JsonHelper
    {
        private static JavaScriptSerializer ser = new JavaScriptSerializer();
        public static T ToJSON<T>(this string js) where T : class
        {
            return ser.Deserialize<T>(js);
        }

        public static string JsonToString(this object obj)
        {
            return ser.Serialize(obj);
        }
    }
}

使いやすい

//Deserialize
string s = "{yammerClientId = \"1\",yammerNetwork = \"2\"}";    
YammerConfig data = s.ToJSON<YammerConfig>();

//Serialize
string de = data.JsonToString();
于 2013-10-10T07:38:09.733 に答える