คำถามติดแท็ก json.net

Json.NET (หรือที่เรียกว่า Newtonsoft.Json) เป็นเฟรมเวิร์ก JSON ประสิทธิภาพสูงยอดนิยมสำหรับ. NET

21
ฉันจะ deserialize JSON ให้กับ Dictionary <string, string> อย่างง่ายใน ASP.NET ได้อย่างไร?
ฉันมีรายการคีย์ / ค่าอย่างง่ายใน JSON ที่ถูกส่งกลับไปยัง ASP.NET ผ่าน POST ตัวอย่าง: { "key1": "value1", "key2": "value2"} ฉันไม่ได้พยายามที่จะกำหนดค่าให้เป็น. NET Objected ฉันเพียงต้องการพจนานุกรมแบบเก่าธรรมดา(ของสตริง, สตริง)หรือเทียบเท่า (ตารางแฮช, พจนานุกรม (ของสตริง, วัตถุ), StringDictionary โรงเรียนเก่า - นรกอาร์เรย์ 2 มิติของสตริงจะใช้งานได้สำหรับฉัน ฉันสามารถใช้สิ่งใดก็ได้ที่มีใน ASP.NET 3.5 เช่นเดียวกับ Json.NET ที่เป็นที่นิยม (ซึ่งฉันใช้อยู่แล้วสำหรับการทำให้เป็นอนุกรมกับไคลเอ็นต์) เห็นได้ชัดว่าไม่มีไลบรารี JSON เหล่านี้ที่มีความสามารถในการตบหน้าผากอย่างเห็นได้ชัด - พวกเขามุ่งเน้นไปที่การกำจัดซีเรียลไลเซชั่นแบบสะท้อนผ่านสัญญาที่แข็งแกร่ง ความคิดใด ๆ ข้อ จำกัด : ฉันไม่ต้องการใช้เครื่องมือแยกวิเคราะห์ JSON ของตัวเอง ยังไม่สามารถใช้ …

13
วิธีการเพิกเฉยคุณสมบัติในคลาสถ้าว่างโดยใช้ json.net
ฉันใช้Json.NETเพื่อทำให้คลาสเป็น JSON ฉันมีชั้นเรียนเช่นนี้: class Test1 { [JsonProperty("id")] public string ID { get; set; } [JsonProperty("label")] public string Label { get; set; } [JsonProperty("url")] public string URL { get; set; } [JsonProperty("item")] public List&lt;Test2&gt; Test2List { get; set; } } ฉันต้องการที่จะเพิ่มJsonIgnore()แอตทริบิวต์Test2Listคุณสมบัติเฉพาะเมื่อเป็นTest2List nullหากไม่ใช่โมฆะฉันต้องการรวมไว้ใน json ของฉัน
529 c#  json.net 

23
JSON.NET ตรวจพบข้อผิดพลาดในการอ้างอิงตัวเองสำหรับประเภท
ฉันพยายามทำให้เป็นอนุกรม POCO class ที่สร้างขึ้นโดยอัตโนมัติจาก Entity Data Model. edmx และเมื่อฉันใช้ JsonConvert.SerializeObject ฉันได้รับข้อผิดพลาดต่อไปนี้: ตรวจพบข้อผิดพลาดในการอ้างอิงตัวเองสำหรับประเภท System.data.entity ฉันจะแก้ปัญหานี้ได้อย่างไร

16
ฉันจะวิเคราะห์ JSON ด้วย C # ได้อย่างไร
ฉันมีรหัสต่อไปนี้: var user = (Dictionary&lt;string, object&gt;)serializer.DeserializeObject(responsecontent); อินพุตในresponsecontentคือ JSON แต่แยกวิเคราะห์ไม่ถูกต้องในวัตถุ ฉันจะกำจัดมันออกไปได้อย่างไร?

3
ฉันจะเปลี่ยนชื่อพร็อพเพอร์ตี้เมื่อซีเรียลไลซ์กับ Json.net ได้อย่างไร
ฉันมีข้อมูลบางอย่างในวัตถุ C # DataSet ฉันสามารถทำให้เป็นอันดับตอนนี้โดยใช้ตัวแปลง Json.net เช่นนี้ DataSet data = new DataSet(); // do some work here to populate 'data' string output = JsonConvert.SerializeObject(data); อย่างไรก็ตามสิ่งนี้ใช้ชื่อคุณสมบัติจากdataเมื่อพิมพ์ไปยังไฟล์. json ฉันต้องการเปลี่ยนชื่อคุณสมบัติเป็นชื่ออื่น (พูดเปลี่ยน 'foo' เป็น 'bar') ในเอกสารประกอบของ Json.netภายใต้ 'Serializing and Deserializing JSON' → 'แอตทริบิวต์การทำให้เป็นอนุกรม' มันบอกว่า "JsonPropertyAttribute ... อนุญาตให้ชื่อถูกปรับแต่ง" แต่ไม่มีตัวอย่าง ไม่มีใครรู้วิธีใช้ JsonPropertyAttribute เพื่อเปลี่ยนชื่อคุณสมบัติเป็นอย่างอื่นหรือไม่ ( ลิงก์โดยตรงไปยังเอกสารประกอบ ) …

8
ยกเลิกการทำให้วัตถุ json เป็นวัตถุแบบไดนามิกโดยใช้ Json.net
เป็นไปได้หรือไม่ที่จะส่งคืนออบเจ็กต์แบบไดนามิกจากการดีซีเรียลไลซ์เจสันด้วย json.net ฉันต้องการทำสิ่งนี้: dynamic jsonResponse = JsonConvert.Deserialize(json); Console.WriteLine(jsonResponse.message);
426 c#  .net  json.net 

7
แบบแผนการตั้งชื่อ JSON [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบได้ด้วยข้อเท็จจริงและการอ้างอิงโดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา มีมาตรฐานในการตั้งชื่อ JSON หรือไม่ ฉันเห็นตัวอย่างส่วนใหญ่ที่ใช้ตัวพิมพ์เล็กทั้งหมดคั่นด้วยเครื่องหมายขีดล่าง (lower_case) แต่คุณสามารถใช้ PascalCase หรือ camelCase ได้หรือไม่?
379 json  json.net 

11
การดีซีเรียลไลซ์วัตถุ JSON เป็น. NET โดยใช้ Newtonsoft (หรืออาจจะเป็น LINQ ถึง JSON)
ฉันรู้ว่ามีบางโพสต์เกี่ยวกับ Newtonsoft ดังนั้นหวังว่านี่ไม่ใช่การทำซ้ำอย่างแน่นอน ... ฉันพยายามแปลงข้อมูล JSON ที่ส่งคืนโดย Kazaa API เป็นวัตถุที่ดีในบางประเภท WebClient client = new WebClient(); Stream stream = client.OpenRead("http://api.kazaa.com/api/v1/search.json?q=muse&amp;type=Album"); StreamReader reader = new StreamReader(stream); List&lt;string&gt; list = Newtonsoft.Json.JsonConvert.DeserializeObject&lt;List&lt;string&gt;&gt;(reader.Read().ToString()); foreach (string item in list) { Console.WriteLine(item); } //Console.WriteLine(reader.ReadLine()); stream.Close(); นั่นคือ JsonConvert บรรทัดล่าสุดที่ฉันพยายาม ... ฉันไม่ได้รับมันและหวังว่าจะกำจัดฟุตเวิร์กโดยถามพวกคุณ ตอนแรกฉันพยายามแปลงมันเป็นพจนานุกรมหรืออะไรบางอย่าง ... และที่จริงแล้วฉันแค่ต้องการขัดขวางค่าบางอย่างในเอกสารเพื่อพิจารณาจากเอกสารบางที LINT ของ Newtonsoft เป็น …

9
วิธีการนำ JsonConverter แบบกำหนดเองไปใช้ใน JSON.NET เพื่อทำการ deserialize List ของออบเจ็กต์คลาสพื้นฐาน
ฉันพยายามขยายตัวอย่าง JSON.net ที่ให้ไว้ที่นี่ http://james.newtonking.com/projects/json/help/CustomCreationConverter.html ฉันมีคลาสย่อยอื่นที่ได้มาจากคลาสฐาน / ส่วนต่อประสาน public class Person { public string FirstName { get; set; } public string LastName { get; set; } } public class Employee : Person { public string Department { get; set; } public string JobTitle { get; set; } } public class Artist …

5
.NET NewtonSoft JSON deserialize map เป็นชื่อคุณสมบัติอื่น
ฉันได้ติดตามสตริง JSON ที่ได้รับจากบุคคลภายนอก { "team":[ { "v1":"", "attributes":{ "eighty_min_score":"", "home_or_away":"home", "score":"22", "team_id":"500" } }, { "v1":"", "attributes":{ "eighty_min_score":"", "home_or_away":"away", "score":"30", "team_id":"600" } } ] } ชั้นเรียนทำแผนที่ของฉัน: public class Attributes { public string eighty_min_score { get; set; } public string home_or_away { get; set; } public string score { get; set; …


11
ฉันจะคืนค่า camelCase JSON ต่อเนื่องโดย JSON.NET จากวิธีการควบคุม ASP.NET MVC ได้อย่างไร
ปัญหาของฉันที่ฉันต้องการที่จะกลับ camelCased (เมื่อเทียบกับ PascalCase มาตรฐาน) JSON ข้อมูลผ่านActionResult s จากวิธีการควบคุม ASP.NET MVC, อันดับโดยJSON.NET เป็นตัวอย่างให้พิจารณาคลาส C # ต่อไปนี้: public class Person { public string FirstName { get; set; } public string LastName { get; set; } } โดยค่าเริ่มต้นเมื่อส่งคืนอินสแตนซ์ของคลาสนี้จากตัวควบคุม MVC เป็น JSON มันจะถูกทำให้เป็นอนุกรมในแบบต่อไปนี้: { "FirstName": "Joe", "LastName": "Public" } ฉันต้องการให้เป็นอนุกรม (โดย JSON.NET) เป็น: …

3
วิธี deserialize วัตถุ JObject to .NET
ฉันมีความสุขใช้ห้องสมุด Newtonsoft JSON ตัวอย่างเช่นฉันจะสร้างJObjectจากวัตถุ. NET ในกรณีนี้เป็นตัวอย่างของข้อยกเว้น (อาจหรืออาจจะไม่เป็นคลาสย่อย) if (result is Exception) var jobjectInstance = JObject.FromObject(result); ตอนนี้ฉันรู้ว่าไลบรารีสามารถลบข้อความ JSON (เช่นสตริง) ให้กับวัตถุได้ // only works for text (string) Exception exception = JsonConvert.DeserializeObject&lt;Exception&gt;(jsontext); แต่สิ่งที่ฉันกำลังมองหาคือ: // now i do already have an JObject instance Exception exception = jobjectInstance.???? เป็นที่ชัดเจนว่าฉันสามารถJObjectย้อนกลับไปที่ข้อความ JSON จากนั้นใช้ฟังก์ชั่น deserialize แต่ดูเหมือนว่าจะย้อนกลับไป

6
แปลง Newtonsoft.Json.Linq.JArray เป็นรายการประเภทวัตถุเฉพาะ
{Newtonsoft.Json.Linq.JArray}ฉันมีตัวแปรต่อไปนี้ประเภท properties["Value"] {[ { "Name": "Username", "Selected": true }, { "Name": "Password", "Selected": true } ]} สิ่งที่ฉันต้องการจะประสบความสำเร็จคือการแปลงนี้เพื่อList&lt;SelectableEnumItem&gt;ที่SelectableEnumItemเป็นชนิดที่ต่อไปนี้: public class SelectableEnumItem { public string Name { get; set; } public bool Selected { get; set; } } ฉันค่อนข้างใหม่สำหรับการเขียนโปรแกรมและฉันไม่แน่ใจว่ามันเป็นไปได้ ความช่วยเหลือเกี่ยวกับตัวอย่างการทำงานใด ๆ จะได้รับการชื่นชมอย่างมาก
236 c#  json.net 

30
ไม่สามารถโหลดไฟล์หรือชุดประกอบ 'Newtonsoft.Json, รุ่น = 4.5.0.0, วัฒนธรรม = เป็นกลาง, PublicKeyToken = 30ad4fe6b2a6aeed'
ฉันได้รับข้อผิดพลาด System.IO.FileLoadException: ไม่สามารถโหลดไฟล์หรือชุดประกอบ 'Newtonsoft.Json, รุ่น = 4.5.0.0, วัฒนธรรม = เป็นกลาง, PublicKeyToken = 30ad4fe6b2a6aeed' หรือการอ้างอิงอย่างใดอย่างหนึ่ง คำจำกัดความรายการของชุดประกอบที่อยู่ไม่ตรงกับการอ้างอิงชุดประกอบ (ข้อยกเว้นจาก HRESULT: 0x80131040) สำหรับการสร้าง CI ของฉัน วิธีแก้ปัญหาที่ฉันลอง &lt;dependentAssembly&gt; &lt;assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" /&gt; &lt;bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /&gt; &lt;/dependentAssembly&gt; มันยังไม่ทำงาน
233 asp.net  json.net 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.