Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में .NET का उपयोग करके फॉर्मेटेड JSON कैसे प्राप्त करें

Newtonsoft.Json.Formatting एनम JSON को फॉर्मेट करने के विकल्प प्रदान करता है:

  • None - कोई विशेष फॉर्मेटिंग लागू नहीं। यह डिफ़ॉल्ट है।
  • Indented - चाइल्ड ऑब्जेक्ट्स को JsonTextWriter.Indentation और JsonTextWriter.IndentChar सेटिंग्स के अनुसार इंडेंट करता है।

उदाहरण 1: इंडेंटेड JSON (पठनीय)

using Newtonsoft.Json;

static void Main(string[] args)
{
    Product product = new Product
    {
        Name = "Apple",
        Expiry = new DateTime(2008, 12, 28),
        Price = 3.9900M,
        Sizes = new[] { "Small", "Medium", "Large" }
    };

    // Indented फॉर्मेटिंग
    string json = JsonConvert.SerializeObject(product, Formatting.Indented);
    Console.WriteLine(json);

    // डिसीरियलाइज़ेशन
    Product deserializedProduct = JsonConvert.DeserializeObject<Product>(json);
    Console.ReadLine();
}

class Product
{
    public String[] Sizes { get; set; }
    public decimal Price { get; set; }
    public DateTime Expiry { get; set; }
    public string Name { get; set; }
}

आउटपुट (Indented)

{
  "Sizes": [
    "Small",
    "Medium",
    "Large"
  ],
  "Price": 3.9900,
  "Expiry": "2008-12-28T00:00:00",
  "Name": "Apple"
}

उदाहरण 2: कॉम्पैक्ट JSON (कोई इंडेंटेशन नहीं)

static void Main(string[] args)
{
    Product product = new Product
    {
        Name = "Apple",
        Expiry = new DateTime(2008, 12, 28),
        Price = 3.9900M,
        Sizes = new[] { "Small", "Medium", "Large" }
    };

    // None फॉर्मेटिंग (कॉम्पैक्ट)
    string json = JsonConvert.SerializeObject(product, Formatting.None);
    Console.WriteLine(json);

    Product deserializedProduct = JsonConvert.DeserializeObject<Product>(json);
    Console.ReadLine();
}

आउटपुट (None/Compact)

{"Sizes":["Small","Medium","Large"],"Price":3.9900,"Expiry":"2008-12-28T00:00:00","Name":"Apple"}

उन्नत फॉर्मेटिंग विकल्प

var settings = new JsonSerializerSettings
{
    Formatting = Formatting.Indented,
    NullValueHandling = NullValueHandling.Ignore,      // null मानों को अनदेखा करें
    DefaultValueHandling = DefaultValueHandling.Ignore, // डिफ़ॉल्ट मानों को अनदेखा करें
    ContractResolver = new CamelCasePropertyNamesContractResolver(), // camelCase प्रॉपर्टी नाम
    DateFormatString = "yyyy-MM-dd"                    // कस्टम डेट फॉर्मेट
};

string json = JsonConvert.SerializeObject(product, settings);

System.Text.Json (.NET Core 3.0+) का उपयोग

using System.Text.Json;

var options = new JsonSerializerOptions
{
    WriteIndented = true,
    PropertyNamingPolicy = JsonNamingPolicy.CamelCase,
    DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull
};

string json = JsonSerializer.Serialize(product, options);
  1. awk के साथ शुरुआत कैसे करें awk के साथ शुरुआत कैसे करें

    awk, sed, और grep लिनक्स या यूनिक्स कमांड लाइन में मेरे तीन पसंदीदा टूल हैं। वे सभी काफी शक्तिशाली हैं। आज हम देखेंगे कि awk के साथ कैसे शुरुआत करें ताकि आप इसे उपयोग करने में सहज हो सकें। फिर हम कुछ उपयोगी awk वन-लाइनर्स देखेंगे ताकि चीजें आपके लिए थोड़ी अधिक मजेदार बनें। AWK टेक्स्ट-आधारित डेटा को

  1. Windows 10 में PowerShell का उपयोग करके पब्लिक IP एड्रेस कैसे प्राप्त करें Windows 10 में PowerShell का उपयोग करके पब्लिक IP एड्रेस कैसे प्राप्त करें

    जैसा कि नाम से स्पष्ट है, कंप्यूटर के पब्लिक IP एड्रेस का अर्थ। यह एक IP एड्रेस है जिसका उपयोग मूल रूप से सिस्टम नेटवर्क की पहचान करने के लिए किया जाता है। कभी-कभी, आपको कनेक्टिविटी समस्याओं से संबंधित समस्याओं को ठीक करने के लिए मौजूदा पब्लिक IP एड्रेस जानने की आवश्यकता हो सकती है। वैसे, इंटरनेट प

  1. Parallels के साथ Mac पर Windows चलाएं: आसान चरण-दर-चरण गाइड Parallels के साथ Mac पर Windows चलाएं: आसान चरण-दर-चरण गाइड

    Windows OS और ऐप्स का Mac पर उपयोग तब काम आ सकता है जब आप दोनों प्लेटफॉर्म का अक्सर उपयोग कर रहे हों। अब, आप सोच रहे होंगे कि यह कैसे संभव है, क्योंकि Mac को उपयोगकर्ता शत्रुतापूर्ण कहा जाता है। खैर, ऐसे ऐप्स हैं जो इसे संभव बना सकते हैं। Mac पर Windows प्राप्त करने के सबसे लोकप्रिय तरीकों में से एक