2010-06-23 2 views
0

현재 일부 웹 페이지에서 python 코드 예제를 포맷하기 위해 edit_area_full.js를 사용하고 있습니다. json 데이터를 꽤 포맷하고 싶지만 edit_area는 json을 지원하지 않는 경우가 있습니다. 웹 페이지의 텍스트 상자에서 json 데이터를 형식화 할 수있는 edit_area를 대체하는 가장 좋은 방법은 무엇입니까?웹 페이지의 텍스트 상자에서 json 데이터를 포맷하는 가장 쉬운 방법은 무엇입니까?

다음은 어떻게 파이썬 코드를 포맷하는지입니다.

<p><textarea id="code-area" name="user_code" rows="12" cols="80">if True: pass</textarea></p> 

<script language="javascript" type="text/javascript" src="/static/edit_area_full.js"></script> 
    <script language="javascript" type="text/javascript"> 
    editAreaLoader.init({ 
     id: "code-area", 
     syntax: "python", 
     start_highlight: true, 
     allow_resize: "no", 
     font_size: 12, 
     toolbar: "new_document, |, help", 
     replace_tab_by_spaces: 4 
    }); 
    </script> 
+0

글쎄, 어떤 구문 강조 표시 어도 자바 스크립트 구문을 지원하여 JSON을 적절하게 형식화합니다. 그리고 내가봤을 때, edit_area_full.js는 자바 스크립트도 지원합니다. '구문'을 '자바 스크립트'로 설정하고 즐기십시오. – bezmax

+0

강조 표시를 제공하지만 이제는 공백, 간격 또는 다른 서식을 반환합니다. 가져온 데이터를 읽기 쉽도록 만드는 것을 찾으십시오. – Chris

답변

1

당신은 사용하여 수행 할 수 있습니다

  • Edit_area_full.js을 '구문'= '자바 스크립트'로. 이렇게하면 멋진 JSON 강조 표시가됩니다.
  • 는이 라이브러리를 사용하여 JSON을 포맷 - http://github.com/einars/js-beautify

당신이있어 작업에서 나중에 라이브러리를 테스트 할 수 있습니다 : http://jsbeautifier.org/ 예를 들어

, 내가 공급이 :

var testvar = {asd:[abc,cde,fg,{hello: world},1,2,3],ccc:"aaa",ddd:33,cas:[qwerty,[1,[2],3],4]}; 

그리고 결과에서 이것을 얻었습니다 :

var testvar = { 
    asd: [abc, cde, fg, { 
     hello: world 
    }, 1, 2, 3], 
    ccc: "aaa", 
    ddd: 33, 
    cas: [qwerty, [1, [2], 3], 4] 
}; 
+0

웹 페이지의 텍스트 상자 내용을 다시 포맷하려면 텍스트 상자 내용을 가져와 js_beautify (js_source_text, options)를 실행 한 다음 텍스트 상자의 내용을이 함수의 결과로 바꿔야합니다. 내가 이것을 어렵게 만들지 않았는지 확인하기 만하면됩니다. – Chris

관련 문제