정규식_javascript 기술을 사용하여 json 문자열 형식 지정 및 강조 표시
Json 문자열은 매우 유용합니다. 때로는 일부 백그라운드 인터페이스에서 반환되는 정보가 문자열 형식이어서 가독성이 좋지 않습니다. 이때 json 문자열을 형식화하고 강조 표시할 수 있는 방법이 있으면 훨씬 좋습니다. 정규 표현식으로 완성된 json 문자열의 형식 지정 및 강조 표시를 살펴보세요
첫 번째 단계는 입력을 변환하는 것입니다. 객체인 경우 표준화된 json 문자열로 변환됩니다. 객체가 아닌 경우 비표준 문자열을 방지하기 위해 먼저 문자열을 객체로 변환합니다. , 그런 다음 다시 json 문자열로 변환됩니다. json은 입력입니다.
if (json 유형 !== '문자열') {
json = JSON.stringify(json);
} 그 밖의 {
json = JSON.parse(json);
json = JSON.stringify(json);
}
데이터 표준화 후 후속 분할 및 재조합을 위해 문자열을 표시
대괄호, 괄호, 쉼표 등 태그를 추가해야 하는 곳이 여러 군데 있습니다. 여기서는 줄 바꿈을 사용합니다. n(이렇게 하면 명령줄에서 테스트할 때 효과가 더 좋아 보입니다).
//중괄호 앞뒤에 줄바꿈 추가
reg = /([{}])/g;
json = json.replace(reg, 'rn$1rn');
// 대괄호 앞뒤에 줄 바꿈을 추가합니다
reg = /([[]])/g;
json = json.replace(reg, 'rn$1rn');
// 쉼표 뒤에 줄바꿈을 추가합니다
reg = /(,)/g;
json = json.replace(reg, '$1rn');
완성 표시를 추가한 후 일부 최적화 처리를 수행하고 추가 줄 바꿈을 제거하고 쉼표 앞의 줄 바꿈을 제거해야 합니다. 이는 분할 중에 빈 문자열을 방지하고 마지막으로 공백을 추가하는 것입니다. 콜론 다음에 더 예뻐 보입니다.
//중복된 줄 바꿈 제거
reg = /(rnrn)/g;
json = json.replace(reg, 'rn');
// 쉼표 앞의 줄바꿈을 제거합니다
reg = /rn,/g;
json = json.replace(reg, ',');
//콜론 앞에 들여쓰기
reg = /:/g;
json = json.replace(reg, ': ');
다음 단계는 처음 처리된 문자열을 추가로 처리하는 것입니다. 들여쓰기 및 서식 미화를 포함하여 각 분할 단위를 처리하는 로직을 function(index, node) {} 함수에 추가하겠습니다.
$.each(json.split('rn'), function(index, node) {});
우선 들여쓰기에 대해 이야기해보자. 들여쓰기 방법은 매우 간단하다. {, [기호를 만나면 들여쓰기가 1씩 증가하고, }, ] 기호를 만나면 들여쓰기가 1씩 감소한다. 금액은 변함이 없습니다.
//{, [여기서는 들여쓰기 수준이 1씩 증가하고, }, ]를 만나면 들여쓰기 수준이 1씩 감소하고, 만나지 않으면 들여쓰기 수준이 그대로 유지됩니다
if (node.match(/{$/) || node.match(/[$/)) {
들여쓰기 = 1;
} else if (node.match(/}/) || node.match(/]/)) {
If (패드 !== 0) {
패드 -= 1;
}
} 그 밖의 {
들여쓰기 = 0;
}
들여쓰기가 완료되면 강조 표시된 코드를 아름답게 꾸밀 차례입니다. 여기서는 여러 CSS 규칙을 사용합니다. 아래에서 볼 수 있듯이 분할된 단위를 강조 표시할 때 큰 괄호와 일치하는지 판단하는 데 사용됩니다. 객체 클래스를 표시하고 대괄호는 배열 클래스, 속성 이름 및 속성 값을 표시합니다. 이러한 CSS 규칙을 한 번에 추가한 다음 추가가 완료된 후 함께 연결합니다.
.ObjectBrace{color:#00AA00;font-weight:bold;}
.ArrayBrace{color:#0033FF;font-weight:bold;}
.PropertyName{color:#CC0000;font-weight:bold;}
.String{color:#007777;}
.번호{색상:#AA00AA;}
.쉼표{색상:#000000;글꼴 두께:굵게;}
//코드 강조 표시 추가
node = node.replace(/([{}])/g,"$1");
node = node.replace(/([[]])/g,"$1");
node = node.replace(/(".*")(:)(.*)(,)?/g,"$1$2$3$4");
node = node.replace(/"([^"]*)"(,)?$/g,""$1"$2");
node = node.replace(/(-?d )(,)?$/g,"$1$2< /span>");
마지막으로 전체 메소드 코드(여기서는 jquery 클래스 라이브러리를 사용함)와 테스트 주소를 살펴보겠습니다.
jsonstr을 아름답게 하려면 APP.format(jsonstr)을 사용하고
태그에 직접 출력하여 효과를 확인하세요.다음은 테스트 주소입니다. http://iforever.sinaapp.com/ 들어가셔서 전체 소스코드를 보실 수 있습니다
var APP=함수(){
var format=function(json){
var reg=null,
결과='';
패드=0,
~ If (typeof json !== 'string') {
json = JSON.stringify(json);
} else {
json = JSON.parse(json);
json = JSON.stringify(json);
}
// 중괄호 앞뒤에 줄 바꿈 추가
reg = /([{}])/g;
json = json.replace(reg, 'rn$1rn');
// 중앙 괄호 앞뒤에 줄 변경 내용 추가
reg = /([[]])/g;
json = json.replace(reg, 'rn$1rn');
~ // 쉼표 뒤에 줄 바꿈 추가
reg = /(,)/g;
json = json.replace(reg, '$1rn');
// 초과 변경사항 제거
reg = /(rnrn)/g;
json = json.replace(reg, 'rn');
//쉼표 앞의 개행 문자를 제거하세요
reg = /rn,/g;
json = json.replace(reg, ',');
//콜론 앞에 들여쓰기
reg = /:/g;
json = json.replace(reg, ': ');
// 줄 바꿈에 따라 json을 분할하고 각 작은 조각을 처리합니다
$.each(json.split('rn'), function(index, node) {
var i = 0,
들여쓰기 = 0,
패딩 = '';
//여기서 {, [가 만나면 들여쓰기 수준이 1 증가하고, }, ]가 만나면 들여쓰기 수준이 1 감소하고, 만나지 않으면 들여쓰기 수준이 그대로 유지됩니다.
If (node.match(/{$/) || node.match(/[$/)) {
들여쓰기 = 1;
} else if (node.match(/}/) || node.match(/]/)) {
If (패드 !== 0) {
패드 -= 1;
}
} else {
들여쓰기 = 0;
}
//패딩保存实际的缩进
for (i = 0; i 패딩 = PADDING;
}
//添加代码高亮
node = node.replace(/([{}])/g,"$1");
node = node.replace(/([[]])/g,"$1");
node = node.replace(/(".*")(:)(.*)(,)?/g,"$1$2$3$4");
node = node.replace(/"([^"]*)"(,)?$/g,""$1"$2");
node = node.replace(/(-?d )(,)?$/g,"$1$2< /span>");
결과 = 패딩 노드 '
';
패드 = 들여쓰기;
});
결과 반환;
};
반환 {
"형식":형식,
};
}();
怎么样,json字符串是不是美观了很多呢,超级实用吧,这么好的东东,当然不能独享,这里推荐给小伙伴亻。

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

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

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

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

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

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

뜨거운 주제











DOS 명령은 Windows 운영 체제에서 사용되는 명령줄 도구로, 다양한 시스템 관리 작업 및 작업을 수행하는 데 사용할 수 있습니다. 일반적인 작업 중 하나는 C 드라이브를 포함한 하드 드라이브를 포맷하는 것입니다. C 드라이브를 포맷하면 C 드라이브의 모든 데이터가 지워지고 파일 시스템이 다시 초기화되므로 비교적 위험한 작업입니다. 이 작업을 수행하기 전에 중요한 파일을 백업했는지 확인하고 포맷이 컴퓨터에 미치는 영향을 명확하게 이해하십시오. 다음은 DOS 명령줄에서 형식화됩니다.

요즘 우리는 전화를 켤 수 없거나 시스템 충돌과 같은 지연과 같은 몇 가지 문제에 필연적으로 직면하게 될 것입니다. 그러나 사용하는 동안 휴대폰은 우리 삶에서 없어서는 안될 부분이되었습니다. 우리는 종종 당황하며 때로는 이러한 문제에 대한 해결책이 없습니다. 휴대폰 문제를 해결하는 데 도움이 되도록 이 기사에서는 휴대폰 포맷 복구 및 휴대폰을 정상 작동으로 복원하는 몇 가지 방법을 소개합니다. 데이터 백업 - 포맷 과정에서 사진, 연락처 등 중요한 정보가 손실되지 않도록 보호하세요. 휴대폰을 포맷하기 전에 가장 먼저 고려해야 할 사항은 휴대폰에 있는 중요한 데이터와 파일을 백업하는 것입니다. 데이터 보안을 보장하거나 파일을 클라우드 스토리지 서비스로 전송하도록 선택하려면 컴퓨터에 연결하여 백업할 수 있습니다. 시스템에 내장된 복구 기능 사용 - 간단

노트북을 포맷하면 속도가 빨라지나요? Windows 노트북을 포맷하고 싶지만 포맷하면 속도가 더 빨라지는지 알고 싶다면 이 문서가 이 질문에 대한 정답을 찾는 데 도움이 될 것입니다. 노트북을 포맷하면 속도가 빨라지나요? 사용자가 Windows 노트북을 포맷하는 데에는 여러 가지 이유가 있습니다. 그러나 가장 일반적인 이유는 노트북의 성능이나 속도가 느리기 때문입니다. 노트북을 포맷하면 C 드라이브나 Windows 운영 체제가 설치된 하드 드라이브 파티션에 저장된 모든 데이터가 완전히 삭제됩니다. 따라서 모든 사용자는 이 단계를 수행하기 전에 특히 노트북 성능과 관련하여 두 번 생각할 것입니다. 이 문서는 노트북을 포맷하면 속도가 빨라지는지 이해하는 데 도움이 됩니다. 노트북을 포맷하면 도움이 됩니다.

PHP 정규식 확인: 숫자 형식 감지 PHP 프로그램을 작성할 때 사용자가 입력한 데이터를 확인해야 하는 경우가 종종 있습니다. 일반적인 확인 중 하나는 데이터가 지정된 숫자 형식을 준수하는지 확인하는 것입니다. PHP에서는 정규식을 사용하여 이러한 종류의 유효성 검사를 수행할 수 있습니다. 이 기사에서는 PHP 정규식을 사용하여 숫자 형식을 확인하고 구체적인 코드 예제를 제공하는 방법을 소개합니다. 먼저 일반적인 숫자 형식 유효성 검사 요구 사항을 살펴보겠습니다. 정수: 0~9의 숫자만 포함하고 더하기 또는 빼기 기호로 시작할 수 있으며 소수점을 포함하지 않습니다. 부동 소수점

정규식을 사용하여 Golang에서 이메일 주소를 확인하려면 다음 단계를 따르세요. regexp.MustCompile을 사용하여 유효한 이메일 주소 형식과 일치하는 정규식 패턴을 만듭니다. MatchString 함수를 사용하여 문자열이 패턴과 일치하는지 확인합니다. 이 패턴은 다음을 포함하여 대부분의 유효한 이메일 주소 형식을 다룹니다. 로컬 사용자 이름에는 문자, 숫자 및 특수 문자가 포함될 수 있습니다: !.#$%&'*+/=?^_{|}~-`도메인 이름에는 최소한 다음이 포함되어야 합니다. 문자 1개 뒤에 문자, 숫자 또는 하이픈이 옵니다. 최상위 도메인(TLD)의 길이는 63자를 초과할 수 없습니다.

HTML 형식화 방법: 1. 온라인 HTML 형식화 도구를 사용합니다. 2. Visual Studio Code의 Shift + Alt + F와 같은 코드 편집기와 함께 제공되는 HTML 형식화 바로 가기 키를 사용합니다. 3. Sublime과 같은 플러그인을 사용합니다. 텍스트 HTML/CSS/JS Prettify 플러그인 4. HTML Tidy와 같은 명령줄 도구를 사용합니다. 5. 코딩 표준 및 습관에 따른 수동 형식 지정.

PHP 정규식: 정확한 일치 및 제외 퍼지 포함 정규식은 프로그래머가 텍스트를 처리할 때 효율적인 검색, 바꾸기 및 필터링을 수행하는 데 도움이 되는 강력한 텍스트 일치 도구입니다. PHP에서는 정규식도 문자열 처리 및 데이터 일치에 널리 사용됩니다. 이 기사에서는 PHP에서 정확한 일치를 수행하고 퍼지 포함 작업을 제외하는 방법에 중점을 두고 구체적인 코드 예제를 통해 설명합니다. 완전 일치 완전 일치는 변형이나 추가 단어가 아닌 정확한 조건을 충족하는 문자열만 일치하는 것을 의미합니다.

Go에서는 정규식을 사용하여 타임스탬프를 일치시킬 수 있습니다. ISO8601 타임스탬프를 일치시키는 데 사용되는 것과 같은 정규식 문자열을 컴파일합니다. ^\d{4}-\d{2}-\d{2}T \d{ 2}:\d{2}:\d{2}(\.\d+)?(Z|[+-][0-9]{2}:[0-9]{2})$ . regexp.MatchString 함수를 사용하여 문자열이 정규식과 일치하는지 확인합니다.
