Overview : Newtonsoft.Json NuGet 패캐지 설치후 실행 해 보기
1.Install-Package Newtonsoft.Json
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
각 패키지는 해당 소유자에 의해 사용이 허가됩니다. Microsoft는 타사 패키지에 대해 책임을 지거나 사용권을 부여하지 않습니다. 일부 패키지에는 추가 라이선스에 의해 관리되는 종속성이 포함되어 있을 수 있습니다. 패키지 소스(피드) URL로 이동하여 종속성을 확인하십시오. 패키지 관리자 콘솔 호스트 버전 2.0.30625.9003 사용 가능한 NuGet 명령을 보려면 'get-help NuGet'을 입력하십시오. PM> Install-Package Newtonsoft.Json -Version 9.0.1 Install-Package : 패키지 'Newtonsoft.Json'의 버전 '9.0.1'을(를) 찾을 수 없습니다. 위치 줄:1 문자:16 + Install-Package <<<< Newtonsoft.Json -Version 9.0.1 + CategoryInfo : NotSpecified: (:) [Install-Package], InvalidOperationException + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand PM> |
NuGet 패키지 관리로 다운로드
1 2 3 4 5 6 7 8 9 |
PM> Install-Package Newtonsoft.Json 'Newtonsoft.Json 9.0.1'을(를) 설치하는 중입니다. 'Newtonsoft.Json 9.0.1'을(를) 설치했습니다. 'Newtonsoft.Json 9.0.1'을(를) ConsoleApplication1에 추가하는 중입니다. ConsoleApplication1에 'Newtonsoft.Json 9.0.1'을(를) 추가했습니다. PM> |
2.소스
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
using System; using System.Xml; using Newtonsoft.Json; using System.IO; namespace ConsoleTest { class Program { static void Main(string[] args) { string json = File.ReadAllText(@"D:\down\bbk.json"); XmlDocument doc = JsonConvert.DeserializeXmlNode(json, "root"); //root: XML 은 root name이 필요함 Console.WriteLine(doc.OuterXml); Console.ReadLine(); } } } |
예제2
Remark : Json value 에 Html Tag 가 있는 경우 // xslt 도 추가
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
public static string JsonToText(string sJson, string xsltPath) { // JSON을 XmlDocument로 변환 XmlDocument xmlDocument = JsonConvert.DeserializeXmlNode(sJson, "Root"); //<a>인 경우 발생 - 추가 : 2024-05-02 // HTML 태그를 포함하는 필드에 대해 CDATA 섹션 생성 XmlNode tagNode = xmlDocument.SelectSingleNode("//value"); if (tagNode != null) { // 기존 텍스트 노드를 CDATA 섹션으로 교체 XmlCDataSection cdataSection = xmlDocument.CreateCDataSection(tagNode.InnerText); tagNode.InnerText = ""; // 기존 텍스트를 제거 tagNode.AppendChild(cdataSection); // CDATA 섹션 추가 } // XSLT 준비 XslCompiledTransform xslt = new XslCompiledTransform(); xslt.Load(xsltPath, XsltSettings.TrustedXslt, new XmlUrlResolver()); // XSLT 변환 실행 using (StringWriter stringWriter = new StringWriter()) { xslt.Transform(xmlDocument, null, stringWriter); return stringWriter.ToString(); } } |