টিএল; ডিআর: আপনার একটি জেবজেটে জেপ্রোপার্টি যুক্ত করা উচিত। সরল। সূচক ক্যোয়ারী একটি জেভালুকে রিটার্ন দেয়, সুতরাং পরিবর্তে কীভাবে জেপ্রোপার্টি পাবেন তা নির্ধারণ করুন :)
গৃহীত উত্তর প্রশ্নের উত্তর যেমন মনে হচ্ছে তেমন উত্তর দিচ্ছে না। আমি যদি কোনও নির্দিষ্টটির পরে জেপ্রোপার্টি বিশেষভাবে যুক্ত করতে চাই তবে কী হবে? প্রথমত, পরিভাষা দিয়ে শুরু করা যাক যা সত্যই আমার মাথা পর্যন্ত কাজ করেছিল।
- জে টোকেন = অন্য সকল ধরণের মা। এটি একটি জেভালিউ, জেপ্রোপার্টি, জেআরাই বা জওবজেক্ট হতে পারে। এটি পার্সিং মেকানিজমকে একটি মডুলার ডিজাইন সরবরাহ করা।
- জেভালিউ = যে কোনও জসন মান প্রকার (স্ট্রিং, ইনট, বুলিয়ান)।
- জেপ্রোপার্টি = কোনও জেভালু বা জে কন্টেইনার (নীচে দেখুন) নামের (শনাক্তকারী) সাথে যুক্ত । উদাহরণস্বরূপ
"name":"value"।
- জে কনটেনার = অন্যান্য ধরণের (JObject, JValue) ধারণ করে এমন সমস্ত ধরণের জননী।
- JObject = একটি JContainer প্রকার যা JProperties এর সংকলন ধারণ করে
- JArray = একটি JContainer প্রকার যা JValue বা JContainer সংগ্রহ করে।
এখন, আপনি যখন সূচকটি ব্যবহার করে জসন আইটেমটি অনুসন্ধান করেন [], আপনি শনাক্তকারী ছাড়াই জটোকেন পাচ্ছেন, যা জে কনটেনার বা জেভালিউ হতে পারে (কাস্টিং প্রয়োজন) তবে আপনি এর পরে আর কিছু যুক্ত করতে পারবেন না কারণ এটি কেবলমাত্র একটি মূল্য। আপনি এটি নিজেই পরিবর্তন করতে পারবেন, আরও গভীর মানগুলি জিজ্ঞাসা করতে পারেন, তবে উদাহরণস্বরূপ আপনি এর পরে আর কিছু যুক্ত করতে পারবেন না।
আপনি প্রকৃতপক্ষে যা পেতে চান তা হ'ল সম্পদ এবং তারপরে এটির পরে অন্য সম্পত্তি যুক্ত করুন। এর জন্য, আপনি ব্যবহার করুন JOjbect.Property("name")এবং তারপরে আপনার ইচ্ছার আর একটি জেপ্রোপার্টি তৈরি করুন এবং তারপরে এটি AddAfterSelfপদ্ধতি ব্যবহার করে যুক্ত করুন । আপনি তখন সম্পন্ন হয়।
আরও তথ্যের জন্য: http://www.newtonsoft.com/json/help/html/ModifyJson.htm
এটি আমি সংশোধিত কোড।
public class Program
{
public static void Main()
{
try
{
string jsonText = @"
{
""food"": {
""fruit"": {
""apple"": {
""colour"": ""red"",
""size"": ""small""
},
""orange"": {
""colour"": ""orange"",
""size"": ""large""
}
}
}
}";
var foodJsonObj = JObject.Parse(jsonText);
var bananaJson = JObject.Parse(@"{ ""banana"" : { ""colour"": ""yellow"", ""size"": ""medium""}}");
var fruitJObject = foodJsonObj["food"]["fruit"] as JObject;
fruitJObject.Property("orange").AddAfterSelf(new JProperty("banana", fruitJObject));
Console.WriteLine(foodJsonObj.ToString());
}
catch (Exception ex)
{
Console.WriteLine(ex.GetType().Name + ": " + ex.Message);
}
}
}
JObject.Parseশেষ লাইনে 'JToken.Parse' (বা 'JToken.FromObject') ব্যবহার করুন। এটি স্ট্রিংয়ের মতো সাধারণ বস্তুর জন্যও কাজ করে।