json 회전 json 트리 구조
5414 단어 jsonwebservice데이터대상구조
[{'belongsname':'','id'901,'isleaf': 0,'name':'XJBHX-2표 항목부','pid':'",'id': 901,'type':'}, {'belongsleaf':'isleaf': 02,'isleaf': 1,'name':'종합부(사무실)','pid':','pid':'':'",'type':'901, '{'isleaf': 901,'isleaf'isleaf': 0','name','name':'name':'name':'name':':','belongenenen'belongingingingingsle부/기술부), "pid": "901", "type": "}, {"belongsname","id": 904,"isleaf": 1,"name":"안질부","pid":"901","type": ""} {"belongsname": ","id": 905,"isleaf": 1,"name":"회계부","pid":"901","type":""}", "id": 905, "isleaf": ":"회계부":"":"회계부"", "pid"":"""pide":": "", "pid": "": "": 905, ","isleaf": 1": 1 "isleaf": 1 ": 1,"name ":"""":""""""", ","name ":"":": """:"",", ","type":": "중심 시험실", "pid": "901", "type": "}
우리가 프론트 데스크톱 인터페이스에서 필요로 하는 데이터는 다음과 같다.
["belongsname": ","id ": 901,"isleaf ": 0,"name ":"XJBHX-2 프로젝트 섹션 ","pid ":", "type": "children": [{"belongsname": ","id: 902, "isleaf"1,"name":"종합부(사무실)", "pid":"901", "type":"},"belongsname": "", ""id"": 903, ""isleaf"": 1, ""name"": "공공부(공학부/기술부)", "pid"":""901"",""type"":""}"{"belongsname": "", "id": 904, "isleaf": 1, "name": "안질부", "pid": "901", "type": ""},{"belongsname": "", "아이디": 905, "isleaf": 1, "name": "계재부", "pid": "901", "type": ""},"belongsname": "", ""id"": 906, ""isleaf"": 1, ""name"": ""물설부(물기부)"", ""pid"": ""901"", ""type"": ""},"{"belongsname": "", "id": 907, "isleaf": 1, "name": "중심 실험실", "pid": "901", "type": "}"]
어떻게 돌리지?예를 들면 다음과 같습니다.
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<script type="text/javascript">
// json
function transData(a, idStr, pidStr, chindrenStr) {
var r = [], hash = {}, id = idStr, pid = pidStr, children = chindrenStr, i = 0, j = 0, len = a.length;
for (; i < len; i++) {
hash[a[i][id]] = a[i];
}
for (; j < len; j++) {
var aVal = a[j], hashVP = hash[aVal[pid]];
if (hashVP) {
!hashVP[children] && (hashVP[children] = []);
hashVP[children].push(aVal);
} else {
r.push(aVal);
}
}
return r;
}
//
function test() {
//json
var jsonData = eval('[{"belongsname":"","id":901,"isleaf":0,"name":"XJBHX-2 ","pid":"","type":""},{"belongsname":"","id":902,"isleaf":1,"name":" ( )","pid":"901","type":""},{"belongsname":"","id":903,"isleaf":1,"name":" ( / )","pid":"901","type":""},{"belongsname":"","id":904,"isleaf":1,"name":" ","pid":"901","type":""},{"belongsname":"","id":905,"isleaf":1,"name":" ","pid":"901","type":""},{"belongsname":"","id":906,"isleaf":1,"name":" ( )","pid":"901","type":""},{"belongsname":"","id":907,"isleaf":1,"name":" ","pid":"901","type":""}]');
//
var jsonDataTree = transData(jsonData, 'id', 'pid', 'chindren');
console.log(jsonDataTree);
}
//
window.onload = test;
</script>
</head>
</head>
<body>
</body>
</html>
요약:
처음에 시작했을 때 생각이 복잡해졌고 자신이 훑어보고 수동으로 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에 따라 라이센스가 부여됩니다.