자바스크립트 양식 필드와 json 데이터 간의 상호 작용 페이지 1/3_json
包括对象中有集合属性、对象中引用其他对象属性:
/** **json对象数据设置到表单域中 */ function jsonObjectToForm(form, jsonObject){ for(i = 0, max = form.elements.length; i < max; i++) { e = form.elements[i]; eName = e.name; if(eName.indexOf('.') > 0){ dotIndex = eName.indexOf('.'); parentName = eName.substring(0, dotIndex); childName = eName.substring(dotIndex+1); //迭代判断eName,组装成json数据结构 eValue = iterValueFromJsonObject(jsonObject, parentName, childName); }else{ eValue = jsonObject[eName]; } if(eValue && eValue != "undefined" && eValue != "null"){ switch(e.type){ case 'checkbox': case 'radio': if(e.value == eValue){ e.checked = true; } break; case 'hidden': case 'password': case 'textarea': case 'text': e.value = eValue; break; case 'select-one': case 'select-multiple': for(j = 0; j < e.options.length; j++){ op = e.options[j]; //alert("eName : " + eName + "; op value : " + op.value + "; eValue : " + eValue); if(op.value == eValue){ op.selected = true; } } break; case 'button': case 'file': case 'image': case 'reset': case 'submit': default: } } } } /** * json数组读写有两种方式 * 1: a.bs[0].id * 2: a["bs"][0]["id"] * 把表单转换成json数据格式 */ function formToJsonObject(form){ var jsonObject = {}; for(i = 0, max = form.elements.length; i < max; i++) { e = form.elements[i]; em = new Array(); if(e.type == 'select-multiple'){ for(j = 0; j < e.options.length; j++){ op = e.options[j]; if(op.selected){ em[em.length] = op.value; } } } switch(e.type){ case 'checkbox': case 'radio': if (!e.checked) { break; } case 'hidden': case 'password': case 'select-one': case 'select-multiple': case 'textarea': case 'text': eName = e.name; if(e.type == 'select-multiple'){ eValue = em; }else{ eValue = e.value.replace(new RegExp('(["\\\\])', 'g'), '\\$1'); } //判断是否是对象类型数据 if(eName.indexOf('.') > 0){ dotIndex = eName.indexOf('.'); parentName = eName.substring(0, dotIndex); childName = eName.substring(dotIndex+1); //迭代判断eName,组装成json数据结构 iterJsonObject(jsonObject, parentName, childName, eValue); }else{ jsonObject[eName] = eValue; } break; case 'button': case 'file': case 'image': case 'reset': case 'submit': default: } } return jsonObject; } /** * 把表单元素迭代转换成json数据 */ function iterJsonObject(jsonObject, parentName, childName, eValue){ //pArrayIndex用于判断元素是否是数组标示 pArrayIndex = parentName.indexOf('['); //判断是否集合数据,不是则只是对象属性 if(pArrayIndex < 0){ var child = jsonObject[parentName]; if(!child){ jsonObject[parentName] = {}; } dotIndex = childName.indexOf('.'); if(dotIndex > 0){ iterJsonObject(jsonObject[parentName], childName.substring(0, dotIndex), childName.substring(dotIndex+1), eValue); }else{ jsonObject[parentName][childName] = eValue; } }else{ pArray = jsonObject[parentName.substring(0, pArrayIndex)]; //若不存在js数组,则初始化一个数组类型 if(!pArray){ jsonObject[parentName.substring(0, pArrayIndex)] = new Array(); } //取得集合下标,并判断对应下标是否存在js对象 arrayIndex = parentName.substring(pArrayIndex+1, parentName.length-1); var c = jsonObject[parentName.substring(0, pArrayIndex)][arrayIndex]; if(!c){ jsonObject[parentName.substring(0, pArrayIndex)][arrayIndex] = {}; } dotIndex = childName.indexOf('.'); if(dotIndex > 0){ iterJsonObject(jsonObject[parentName.substring(0, pArrayIndex)][arrayIndex], childName.substring(0, dotIndex), childName.substring(dotIndex+1), eValue); }else{ jsonObject[parentName.substring(0, pArrayIndex)][arrayIndex][childName] = eValue; } } } /** * 迭代json数据对象设置到表单域中 */ function iterValueFromJsonObject(jsonObject, parentName, childName){ //pArrayIndex用于判断元素是否是数组标示 pArrayIndex = parentName.indexOf('['); //判断是否集合数据,不是则只是对象属性 if(pArrayIndex < 0){ dotIndex = childName.indexOf('.'); if(dotIndex > 0){ return iterValueFromJsonObject(jsonObject[parentName], childName.substring(0, dotIndex), childName.substring(dotIndex+1)); }else{ return jsonObject[parentName][childName] } }else{ pArray = jsonObject[parentName.substring(0, pArrayIndex)]; //取得集合下标,并判断对应下标是否存在js对象 arrayIndex = parentName.substring(pArrayIndex+1, parentName.length-1); var c = jsonObject[parentName.substring(0, pArrayIndex)][arrayIndex]; dotIndex = childName.indexOf('.'); if(dotIndex > 0){ return iterValueFromJsonObject(jsonObject[parentName.substring(0, pArrayIndex)][arrayIndex], childName.substring(0, dotIndex), childName.substring(dotIndex+1)); }else{ return jsonObject[parentName.substring(0, pArrayIndex)][arrayIndex][childName] } } }

핫 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)

뜨거운 주제











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

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

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

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

PHP에 대한 심층적인 이해: JSONUnicode를 중국어로 변환하는 구현 방법 개발 중에 JSON 데이터를 처리해야 하는 상황이 자주 발생하며, JSON의 유니코드 인코딩은 일부 시나리오, 특히 변환해야 할 때 몇 가지 문제를 일으킬 수 있습니다. 유니코드 인코딩을 한자로 변환하는 경우입니다. PHP에는 이러한 변환 프로세스를 달성하는 데 도움이 되는 몇 가지 방법이 아래에 소개되고 구체적인 코드 예제가 제공됩니다. 먼저 JSON의 Un을 먼저 이해해 봅시다.

PHP 배열은 json_encode() 함수를 통해 JSON 문자열로 변환할 수 있으며(예: $json=json_encode($array);), 반대로 json_decode() 함수를 사용하면 JSON에서 배열로 변환할 수 있습니다($array= json_decode($json);) . 다른 팁에는 심층 변환 방지, 사용자 정의 옵션 지정 및 타사 라이브러리 사용이 포함됩니다.

PHP는 JSON 데이터를 처리하기 위해 다음 기능을 제공합니다. JSON 데이터 구문 분석: json_decode()를 사용하여 JSON 문자열을 PHP 배열로 변환합니다. JSON 데이터 생성: json_encode()를 사용하여 PHP 배열 또는 개체를 JSON 문자열로 변환합니다. JSON 데이터의 특정 값 가져오기: PHP 배열 함수를 사용하여 키-값 쌍 또는 배열 요소와 같은 특정 값에 액세스합니다.

JSON(JavaScriptObjectNotation)은 웹 애플리케이션 간의 데이터 교환에 일반적으로 사용되는 경량 데이터 교환 형식입니다. JSON 데이터를 처리할 때 유니코드로 인코딩된 중국어 문자(예: "u4e2du6587")를 자주 접하고 이를 읽을 수 있는 중국어 문자로 변환해야 합니다. PHP에서는 몇 가지 간단한 방법을 통해 이러한 변환을 수행할 수 있습니다. 다음으로 JSONUnico 변환 방법을 자세히 소개하겠습니다.
