ホームページ  >  記事  >  ウェブフロントエンド  >  .netエンティティクラスとjson間の変換方法のまとめ

.netエンティティクラスとjson間の変換方法のまとめ

php中世界最好的语言
php中世界最好的语言オリジナル
2018-04-25 13:41:152197ブラウズ

今回は、.netエンティティクラスとjsonを変換する方法の概要を紹介します。 .netエンティティクラスとjsonを変換するための注意事項は何ですか?実際のケースを見てみましょう。

.net エンティティクラスと json の間で変換する場合は、次の点に注意してください:

1. jsonhelp を記述するときに追加される参照。 System.Runtime.Serialization.Json;

2. エンティティ クラスは public として宣言する必要があります

jsonhelp コード:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Runtime.Serialization.Json;
using System.IO;
namespace JsonTest
{
  class JsonHelp
  {
    public JsonHelp()
  {
    //
    // TODO: Add constructor logic here
    //
  }
  /// <summary>
  /// 把对象序列化 JSON 字符串 
  /// </summary>
  /// <typeparam name="T">对象类型</typeparam>
  /// <param name="obj">对象实体</param>
  /// <returns>JSON字符串</returns>
  public static string GetJson<T>(T obj)
  {
    //记住 添加引用 System.ServiceModel.Web 
    /**
     * 如果不添加上面的引用,System.Runtime.Serialization.Json; Json是出不来的哦
     * */
    DataContractJsonSerializer json = new DataContractJsonSerializer(typeof(T));
    using (MemoryStream ms = new MemoryStream())
    {
      json.WriteObject(ms, obj);
      string szJson = Encoding.UTF8.GetString(ms.ToArray());
      return szJson;
    }
  }
  /// <summary>
  /// 把JSON字符串还原为对象
  /// </summary>
  /// <typeparam name="T">对象类型</typeparam>
  /// <param name="szJson">JSON字符串</param>
  /// <returns>对象实体</returns>
  public static T ParseFormJson<T>(string szJson)
  {
    T obj = Activator.CreateInstance<T>();
    using (MemoryStream ms = new MemoryStream (Encoding.UTF8.GetBytes(szJson)))
    {
      DataContractJsonSerializer dcj = new DataContractJsonSerializer(typeof(T));
      return (T)dcj.ReadObject(ms);
    }
  }
 
  }
}

コンソール アプリケーション テスト コード:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace JsonTest
{
 public class testData
  {
    public testData()
  {
  }
  public int Id { get; set; }
  public string Name { get; set; }
  public string Sex { get; set; }
  }
}
Believeこの記事の事例を読んだ後は、その方法を習得したことになります。さらに興味深い情報については、PHP 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

jQueryは垂直方向の半透明のアコーディオン効果を作成します

jQueryはナビゲーションメニューのマウスプロンプト機能を実装します

以上が.netエンティティクラスとjson間の変換方法のまとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。