এএসপি.নেট কোরে জেএসএন সিরিয়ালাইজেশন / ডিসিরিয়ালাইজেশন


131

যেহেতু কোনও নেই JavaScriptSerializer, কোনটি নেটিভ বাস্তবায়ন এটি পরিচালনা করতে ব্যবহার করতে পারেন?

আমি লক্ষ্য করেছি JsonResultএবং আমি এটি দিয়ে জেএসএনে ডেটা ফর্ম্যাট করতে পারি, তবে কীভাবে deserialize করব?

অথবা আমি কিছু নির্ভরতা অনুপস্থিত project.json?

উত্তর:


235

আপনি ব্যবহার করতে পারেন Newtonsoft.Json, এটি নির্ভরতা Microsoft.AspNet.Mvc.ModelBindingযা এর নির্ভরতা Microsoft.AspNet.Mvc। সুতরাং, আপনার আপনার প্রকল্প.জসনে নির্ভরতা যুক্ত করার দরকার নেই।

#using Newtonsoft.Json
....
JsonConvert.DeserializeObject(json);

দ্রষ্টব্য, একটি ওয়েবএপিআই নিয়ামক ব্যবহার করে আপনার জেএসওএন নিয়ে ডিল করার দরকার নেই।

আপডেট করুন এএসপি.নেট কোর 3.0

জসন.এনইটি এএসপি.নেট কোর 3.0.০ ভাগ করা কাঠামো থেকে সরানো হয়েছে।

আপনি উচ্চ ক্ষমতা সম্পন্ন উপরে নতুন তাদেরকে JSON serializer স্তর ব্যবহার করতে পারেন Utf8JsonReaderএবং Utf8JsonWriter। এটি JSON থেকে অবজেক্টকে ডিসিজায়ালাইজ করে এবং জেএসএনে অবজেক্টকে সিরিয়ালাইজ করে। মেমরি বরাদ্দ সর্বনিম্ন রাখা হয় এবং স্ট্রিমের সাথে JSON পড়ার এবং লেখার জন্য সমর্থনকে অবিচ্ছিন্নভাবে অন্তর্ভুক্ত করে।

শুরু করার জন্য, नेमস্পেসে JsonSerializerক্লাসটি ব্যবহার করুন System.Text.Json.Serialization। তথ্য এবং নমুনার জন্য ডকুমেন্টেশন দেখুন ।

একটি ASP.NET কোর 3.0 প্রকল্পে Json.NET ব্যবহার করতে:

    services.AddMvc()
        .AddNewtonsoftJson();

পড়ুন Json.NET সমর্থন মধ্যে 2.2 3.0 প্রিভিউ 2 ASP.NET কোর থেকে স্থানান্তরণ আরও তথ্যের জন্য।


এখন AspNetCore.Mcv এর নিউটোনসফট.জেএসএনের উপর কোনও নির্ভরতা নেই। মাইক্রোসফ্ট.এএসপনেট.এমভিসি.ফর্ম্যাটটার্স.জিসন অ্যাসেমব্লি সিরিয়ালাইজেশনের জন্য ব্যবহৃত হয়েছে।
রোমান পোক্রভস্কিজ

9
@RomanPokrovskij, ভুল: Microsoft.AspNetCore.Mvc.Formatters.Jsonনির্ভরশীলতার হয়েছে Microsoft.AspNetCore.JsonPatchযা নির্ভরশীলতার হয়েছে Newtonsoft.Json9.0.1 nuget.org/packages/Microsoft.AspNetCore.Mvc.Formatters.Json , nuget.org/packages/Microsoft.AspNetCore.JsonPatch
মঙ্গল থেকে Agua

আপনি নির্দিষ্ট ক্লাসে ডিসিরিয়ালাইজ করার জন্য জসনকনভার্ট.ডিজরিয়ালাইজ অবজেক্ট <ইয়োরক্লাস> (জসন) ব্যবহার করতে পারেন।
নুনো রিবেইরো

14

। নেট কোর

using System.Text.Json;

সিরিয়াল করতে

var jsonStr = JsonSerializer.Serialize(MyObject)

Deserialize

var weatherForecast = JsonSerializer.Deserialize<MyObject>(jsonStr);

বৈশিষ্ট্যগুলি এবং নালগুলি বাদ দেওয়ার বিষয়ে আরও তথ্যের জন্য এই মাইক্রোসফ্টের দিকটি দেখুন


আপনি কীভাবে জসনকে ডায়নামিক টাইপের ডিজিটালাইজ করতে জানেন?
zolty13
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.