JSON 날짜 형식 문제를 해결하는 3가지 방법_json
개발 중에 서버에서 json 형식의 데이터를 반환해야 하는 경우가 있습니다. 백그라운드 코드에 DateTime 유형의 데이터가 있는 경우 시스템 자체 도구 클래스를 사용하여 이를 직렬화하면 날짜를 나타내는 긴 숫자를 얻게 됩니다. 데이터는 다음과 같습니다. 표시:
//서버 응답 결과를 일반으로 설정 텍스트 형식
context.Response.ContentType = "text/plain";
//학생 개체 컬렉션
List
{
new Student() {이름 = "톰",
생일 =Convert.ToDateTime("2014-01-31 12:12:12")},
new Student(){이름 ="로즈",
생일 = Convert.ToDateTime ("2014-01-10 11:12:12")},
new Student(){Name ="Mark",
Birthday =Convert.ToDateTime("2014-01-09 10: 12:12 ")}
};
//javascript serializer
JavaScriptSerializer jss=new JavaScriptSerializer();
//학생 컬렉션 개체를 직렬화하여 json 문자 가져오기
string StudentsJson=jss.Serialize(students);
/ / 클라이언트에 문자열 응답
context.Response.Write(studentsJson);
context.Response.End();
실행 결과는 다음과 같습니다.
Tom의 해당 생일 "2014-01-31"은 1391141532000이 되었습니다. 이는 실제로 1970년 1월 1일부터 현재까지의 밀리초 수입니다. 1391141532000/1000/60/60/24/365=44.11년, 44 1970년 =2014, 이 방법에 따르면 연도, 월, 일, 시, 분, 초 및 밀리초를 얻을 수 있습니다. 이 형식은 실현 가능한 표현이지만 일반 사람들이 이해할 수 있는 친숙한 형식은 아닙니다. 이 형식을 어떻게 변경합니까?
해결책:
방법 1: 서버측에서 Select 메서드나 LINQ 표현식을 사용하여 날짜 형식을 변환하고 클라이언트로 보냅니다.
시스템 사용;
System.Collections.Generic 사용;
System.Web 사용;
System.Web.Script.Serialization 사용
네임스페이스 JsonDate1
{
System.Linq 사용;
///
/// school生类,测试用
///
공개 수업 학생
{
/// < summary>
/// 이름
///
public String Name { get; 세트; }
///
/// 生日
///
public DateTime Birthday { get; 세트; }
}
///
/// 返回school生集합적json字符
///
공개 클래스 GetJson : IHttpHandler
{
public void ProcessRequest(HttpContext 컨텍스트)
{
//设置服务器响应的结果为纯文本格式
context.Response.ContentType = "text/plain";
//school生对象集합
목록< ;학생> 학생 = New List & lt; Student & gt; { new student () {name = "tom", 생일 = convert.todateTime ( "2014-01-31 12:12:12"), 학생(){이름 ="로즈",생일 =Convert.ToDateTime("2014-01-10 11:12:12")},
new Student(){이름 ="마크",생일 =Convert.ToDateTime ("2014-01-09 10:12:12")}
};
//선택 방법을 선택하여 새로운 버전을 선택하세요.
var StudentSet =
학생.선택
(
p => new { p.Name, Birthday = p.Birthday.ToString("yyyy-mm-dd") }
).ToList();
//javascript序列化器
//序列화학생集合对象得到json字符
문자열 StudentsJson = jss.Serialize(studentSet);
/ /将字符串响应到客户端
context.Response.Write(studentsJson);
context.Response.End();
}
> }
}
Select 메서드는 개체 컬렉션을 다시 투영하고 Birthday 특성을 새 특성으로 변환합니다. 특성이 변경된 후에는 특성 이름을 바꿔야 합니다. 여기서는 select 메서드나 LINQ를 사용할 수 있습니다. 쿼리 표현식을 사용하거나 다른 것을 선택할 수 있습니다. 이 방법은 동일한 목적을 달성하며 단순히 성능 최적화라는 목적을 달성하기 위해 컬렉션에서 클라이언트가 사용하지 않는 속성을 제거할 수 있습니다.
실행 결과:
현재 날짜 형식은 친숙한 형식이 되었지만 JavaScript에서는 이는 단지 문자열일 뿐입니다.
방법 2:
"Birthday":"/Date(1391141532000)/"의 문자열을 자바스크립트의 날짜 객체로 변환합니다. 생일 키에 해당하는 값에서 숫자가 아닌 문자를 숫자로 바꾸어 삭제할 수 있습니다. 1391141532000, 그런 다음 1391141532000 밀리초를 매개변수로 사용하여 Date 객체를 인스턴스화하여 javascript에서 날짜 객체를 가져옵니다. 코드는 다음과 같습니다.
json 날짜 형식 처리
실행 결과:
숫자가 아닌 모든 숫자를 바꾸려면
에서 일반 /D/igm을 사용하세요. D는 숫자가 아닌 숫자를 의미하고, igm은 각각 대문자와 소문자 무시, 전역(전역) 치환을 의미합니다. -line replacement ( multi-line); 때로는 86의 상황이 있을 수 있는데, 이는 단순히 정규식을 변경함으로써 목적을 달성할 수 있습니다. 또한 프로젝트에서 날짜 형식을 처리해야 하는 문제가 반복적으로 발생하는 경우 다음 코드를 사용하여 javascript 메서드를 확장할 수 있습니다.
코드 복사
코드는 다음과 같습니다.
$(함수 () {
("").html(obj.Name).appendTo("#ulS 학생");
장소(/ D/igm, ""); $("").html(birthday.toLocaleString()).appendTo("#ulStudents");
$("
").html(obj .Birthday.toDate()).appendTo("#ulStudents");;
//요구 사항에 따라 개선될 수 있는 String 객체의 toDate 메서드 확장
String.prototype.toDate = function () {
var dateMilliseconds; if (isNaN(this)) {
위의 확장된 방법인 toDate는 합리적이지 않거나 강력하지 않을 수 있으며 필요에 따라 수정할 수 있습니다.
방법 3:
1.fastJSON.
2.JSON_checker.
3.Jayrock.
4.Json.NET - LINQ에서 JSON으로.
5.LitJSON.
6.JSON for .NET .
7.JsonFx.
8.JSONSharp.
9.JsonExSerializer.
10.fluent-json
11.Manatee Json
코드 복사
코드는 다음과 같습니다.
시스템 사용;
System.Collections.Generic 사용;
System.Web 사용;
LitJson 사용
JsonDate2 네임스페이스
{
System.Linq 사용;
///
/// 테스트에 사용되는 학생 클래스
///
공개 클래스 Student
{
/// < ; 요약>
/// 이름
///
///
/// 학생 컬렉션의 json 문자를 반환합니다.
///
public class GetJson: IHttpHandler
{
{
// 서버 응답 결과를 순수 텍스트 형식으로 설정
context.Response.contenttype = "text/plain" ;Student> ;학생>
{
new Student(){Name ="Tom",Birthday =Convert.ToDateTime("2014-01-31 12:12:12")},
new Student(){ 이름 ="장미",생일 =Convert.ToDateTime("2014-01-10 11:12:12")},
새 학생(){이름 ="마크", 생일 = Convert.ToDateTime("2014- 01-09 10:12:12")}
};
//序列chemical生集合对象得到json字符
string StudentsJson = JsonMapper.ToJson(students);
//将 客户端
context.Response.Write(studentsJson);
context.Response.End();
}
{
get
{
return false;
}
}
}
실행 결과는 다음과 같습니다.
var date = new Date("2014/01/31 12:12:12");
alert(date.toLocaleString());
클라이언트 코드는 다음과 같습니다.
코드 복사
$ .getjson ("getjson2.ASHX", function (students) {
$ .Each (Students, Function (INDEX, OBJ) {
$ > ("").html(obj.Name).appendTo("#ulStudents");
var birthday = new Date(obj.Birthday);
$("
").html(birthday.toLocaleString()).appendTo("#ulStudents");} );
});
});
var date = new Date("2014/01/31 12:12:12");
Alert(date.toLocaleString());

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

golangWebSocket과 JSON의 결합: 데이터 전송과 파싱의 실현 현대 웹 개발에서 실시간 데이터 전송은 점점 더 중요해지고 있습니다. WebSocket은 양방향 통신을 달성하는 데 사용되는 프로토콜입니다. 기존 HTTP 요청-응답 모델과 달리 WebSocket을 사용하면 서버가 클라이언트에 데이터를 적극적으로 푸시할 수 있습니다. JSON(JavaScriptObjectNotation)은 간결하고 읽기 쉬운 데이터 교환을 위한 경량 형식입니다.

PHP 배열을 JSON으로 변환하기 위한 성능 최적화 방법은 다음과 같습니다. JSON 확장 및 json_encode() 함수를 사용하여 문자 이스케이프를 방지하고 버퍼를 사용하여 JSON 인코딩 결과 캐싱을 고려합니다. JSON 인코딩 라이브러리.

MySQL5.7과 MySQL8.0은 서로 다른 두 가지 MySQL 데이터베이스 버전입니다. 두 버전 사이에는 몇 가지 주요 차이점이 있습니다. 성능 개선: MySQL8.0은 MySQL5.7에 비해 성능이 일부 향상되었습니다. 여기에는 더 나은 쿼리 최적화 프로그램, 더 효율적인 쿼리 실행 계획 생성, 더 나은 인덱싱 알고리즘 및 병렬 쿼리 등이 포함됩니다. 이러한 개선 사항은 쿼리 성능과 전반적인 시스템 성능을 향상시킬 수 있습니다. JSON 지원: MySQL 8.0에는 JSON 데이터의 저장, 쿼리 및 인덱싱을 포함하여 JSON 데이터 유형에 대한 기본 지원이 도입되었습니다. 이를 통해 MySQL에서 JSON 데이터를 보다 편리하고 효율적으로 처리하고 조작할 수 있습니다. 트랜잭션 기능: MySQL8.0은 원자와 같은 몇 가지 새로운 트랜잭션 기능을 도입합니다.

Golang에서 json.MarshalIndent 함수를 사용하여 구조를 형식화된 JSON 문자열로 변환합니다. Golang에서 프로그램을 작성할 때 구조를 JSON 문자열로 변환해야 하는 경우가 종종 있습니다. 이 과정에서 json.MarshalIndent 함수가 도움이 될 수 있습니다. 포맷된 출력. 아래에서는 이 기능을 사용하는 방법을 자세히 설명하고 구체적인 코드 예제를 제공합니다. 먼저 일부 데이터가 포함된 구조를 만들어 보겠습니다. 다음은 표시입니다

C# 개발에서 XML 및 JSON 데이터 형식을 처리하려면 특정 코드 예제가 필요합니다. 최신 소프트웨어 개발에서는 XML과 JSON이 널리 사용되는 두 가지 데이터 형식입니다. XML(Extensible Markup Language)은 데이터를 저장하고 전송하는 데 사용되는 마크업 언어인 반면, JSON(JavaScript Object Notation)은 경량 데이터 교환 형식입니다. C# 개발에서는 XML 및 JSON 데이터를 처리하고 조작해야 하는 경우가 많습니다. 이 기사에서는 C#을 사용하여 이 두 가지 데이터 형식을 처리하고 첨부하는 방법에 중점을 둘 것입니다.

PHP의 json_encode() 함수를 사용하여 배열이나 객체를 JSON 문자열로 변환하고 출력 형식을 지정하면 다양한 플랫폼과 언어 간에 데이터를 더 쉽게 전송하고 교환할 수 있습니다. 이 기사에서는 json_encode() 함수의 기본 사용법과 JSON 문자열의 형식을 지정하고 출력하는 방법을 소개합니다. 1. json_encode() 함수의 기본 사용법 json_encode() 함수의 기본 구문은 다음과 같습니다. stringjson_encod

Jackson 라이브러리의 주석은 JSON 직렬화 및 역직렬화를 제어합니다. 직렬화: @JsonIgnore: 속성 무시 @JsonProperty: 이름 지정 @JsonGetter: get 메서드 사용 @JsonSetter: set 메서드 사용 역직렬화: @JsonIgnoreProperties: @JsonProperty 속성 무시: 이름 지정 @JsonCreator: 생성자 사용 @JsonDeserialize: 사용자 정의 논리

빠른 시작: JSON 파일을 읽는 Pandas 방법, 특정 코드 예제가 필요합니다. 소개: 데이터 분석 및 데이터 과학 분야에서 Pandas는 중요한 Python 라이브러리 중 하나입니다. 풍부한 기능과 유연한 데이터 구조를 제공하며, 다양한 데이터를 쉽게 처리하고 분석할 수 있습니다. 실제 애플리케이션에서는 JSON 파일을 읽어야 하는 상황에 자주 직면합니다. 이 기사에서는 Pandas를 사용하여 JSON 파일을 읽고 특정 코드 예제를 첨부하는 방법을 소개합니다. 1. 팬더 설치
