JSon 직렬 화 와 반 직렬 화 를 바탕 으로 통용 되 는 패키지 전체 코드
2.JSON 이란 무엇 인가?
JSON:JavaScript 대상 표현법(JavaScript Object Notation).JSON 은 텍스트 정 보 를 저장 하고 교환 하 는 문법 이다.XML 과 유사 하 다.JSON 은 XML 보다 작고 빠 르 며 해석 하기 쉽다. 현재 웹 애플 리 케 이 션 JSON 을 개발 하 는 것 은 필수 적 이다.JSON 은 경량급 텍스트 데이터 교환 격 으로 JSON 은 언어 에 독립 되 어 있 으 며 JSON 은 자기 서술 성 을 가지 고 이해 하기 쉽다. ,JSON 은 자 바스 크 립 트 문법 으로 데이터 대상 을 묘사 하지만 JSON 은 여전히 언어 와 플랫폼 에 독립 되 어 있다.JSON 해상도 기와 JSON 라 이브 러 리 는 다양한 프로 그래 밍 언어 를 지원 합 니 다.
3.JSON-JavaScript 대상 으로 변환
JSON 텍스트 형식 은 문법 적 으로 자 바스 크 립 트 대상 을 만 드 는 코드 와 같 습 니 다.이러한 유사 성 때문에 해석 기 가 필요 없 이 자 바스 크 립 트 프로그램 은 내 장 된 eval()함 수 를 사용 하여 JSON 데이터 로 원생 자 바스 크 립 트 대상 을 생 성 할 수 있 습 니 다.
4.XML 유사
JSON 은 순문 이에 요. JSON 은 자기 기술 의 특성 을 가지 고 있 으 며 JSON 은 계층 구조(값 에 존재 하 는 값)를 가지 고 있 습 니 다.JSON 은 JavaScript 를 통 해 분석 할 수 있 습 니 다. JSON 데 이 터 는 AJAX 로 전송 할 수 있 습 니 다. XML 의 차이 점 이 끝나 지 않 은 탭 보다 읽 기와 쓰기 속도 가 빠 르 고 내 장 된 자바 스 크 립 트 eval()방법 으로 해석 할 수 있 으 며 배열 을 사용 할 수 있 습 니 다. ,보존 자 사용 안 함
5.왜 JSON 을 사용 하나 요?
AJAX 응용 프로그램 에 있어 JSON 은 XML 보다 빠 르 고 사용 하기 쉽 습 니 다.XML 로 XML 문 서 를 읽 고 XML DOM 으로 문 서 를 반복 합 니 다. 값 을 읽 고 변수 에 저장 합 니 다.
6.JSON 사용
JSON 문자열 읽 기 JSON 문자열 을 eval()로 처리 합 니 다. 전단 JS 인터페이스 는 보통 사용 합 니 다.JSON.parse() 대상 이나 배열 문자열 을 정렬 하여 JSON 을 진행 합 니 다. 대상 및 JSON.stringify()
7.JSON 의 서열 화 및 반 서열 화
JSON 의 서열 화 와 반 서열 화 저 는 using Newtonsoft.JSon 의 JSonConvert.SerializeObject()를 사용 합 니 다. using System.Runtime.Serialization.JSon; 그 중의 Jil.JSON.Serialize()
물론 이 두 가지 서열 화 방식 은 같다.하지만 Jil.JSON.Serialize() 직렬 화 효율 은 확실히 이 Json Convert.SerializeObject()보다 훨씬 높다.대량의 데이터 가 서열 화 될 때 분명히 알 수 있다.그래서.
직렬 화 및 반 직렬 화 데이터 양 이 매우 많 고 많 을 때 Jil.JSON.Serialize()를 사용 하여 직렬 화 대상 과 반 직렬 화 대상 등 을 강력 히 제안 합 니 다.
9.JSONHelp.cs 코드 는 다음 과 같 습 니 다:
using Newtonsoft.Json;
using System;
using System.IO;
using System.Runtime.Serialization.Json;
using System.Text;
/************************************************
: LowKeyTranscend
: JSON
:V1.0
:2017 6 22
*****************************************************/
namespace RapidDevelopmentFramework.Common
{
/// <summary>
/// JSON
/// </summary>
public static class JSONHelper
{
/// <summary>
/// JSON
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="_Object"></param>
/// <returns></returns>
public static String ObjectToJSON<T>(this T _Object) where T :class
{
return JsonConvert.SerializeObject(_Object);
}
/// <summary>
/// JSON
/// </summary>
/// <param name="_Object"></param>
/// <returns></returns>
public static String ObjectToJSON(this Object _Object)
{
return JsonConvert.SerializeObject(_Object);
}
/// <summary>
/// JSON
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="_Object"></param>
/// <returns></returns>
public static String ObjectToJSONOfficial<T>(this T _Object) where T :class
{
using (var TempMemoryStream = new MemoryStream())
{
var MyDataContractJsonSerializer = new DataContractJsonSerializer(typeof(T));
MyDataContractJsonSerializer.WriteObject(TempMemoryStream, _Object);
var MySerializationString = Encoding.UTF8.GetString(TempMemoryStream.ToArray());
return MySerializationString;
}
}
/// <summary>
///JSON Jil
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="_Object"></param>
/// <returns></returns>
public static String ObjectToJSONJil<T>(this T _Object) where T :class
{
return Jil.JSON.Serialize(_Object, Jil.Options.ExcludeNullsIncludeInherited);
}
/// <summary>
/// JSON Jil null
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="_Object"></param>
/// <returns></returns>
public static String ObjectToJSONJilIncludeNulls<T>(this T _Object) where T:class
{
return Jil.JSON.Serialize(_Object, Jil.Options.IncludeInherited);
}
/// <summary>
/// JSON
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="_JSONString"></param>
/// <returns></returns>
public static T JSONToObjectJSON<T>(this String _JSONString) where T:class
{
return JsonConvert.DeserializeObject<T>(_JSONString);
}
/// <summary>
/// JSON
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="_JSONString"></param>
/// <returns></returns>
public static T JSONToObjectOfficial<T>(this String _JSONString) where T :class
{
using (var TempMemoryStream = new MemoryStream(Encoding.UTF8.GetBytes(_JSONString)))
{
var MyDataContractJsonSerializer = new DataContractJsonSerializer(typeof(T));
return (T)MyDataContractJsonSerializer.ReadObject(TempMemoryStream);
}
}
/// <summary>
/// JSON
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="_JSONString"></param>
/// <returns></returns>
public static T JSONToObjectJil<T>(this String _JSONString) where T :class
{
using (var InputString = new StringReader(_JSONString))
{
var ObjectResult = Jil.JSON.Deserialize<T>(InputString);
return ObjectResult;
}
}
/// <summary>
/// JSON Jil null
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="_JSONString"></param>
/// <returns></returns>
public static T JSONToObjectJilIncludeNulls<T>(this String _JSONString) where T :class
{
using (var InputString = new StringReader(_JSONString))
{
var ObjectResult = Jil.JSON.Deserialize<T>(InputString, Jil.Options.IncludeInherited);
return ObjectResult;
}
}
}
}
위 에서 말 한 것 은 소 편 이 여러분 에 게 소개 한 JSon 직렬 화 와 반 직렬 화 를 바탕 으로 통용 되 는 패키지 전체 코드 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.소 편 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
콘텐츠 SaaS | JSON 스키마 양식 빌더Bloomreach Content를 위한 JSON Form Builder 맞춤형 통합을 개발합니다. 최근 Bloomreach Content SaaS는 내장 앱 프레임워크를 사용하여 혁신적인 콘텐츠 유형 필드를 구축할...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.