2014-01-28 2 views
0

JSON 파일의 경로 또는 JSON 데이터를 직접 제공하는 그래프를 시각화 할 수있는 함수를 원합니다. 그 일을하는 표준 방법이 있습니까? 지금 당장 생각해 볼 수있는 것은 매개 변수를 파싱하는 것이고, ".json"으로 끝나면 d3.json()에 전달하고 그렇지 않으면 직접 graph.data()에 데이터를 전달합니다.D3.js : JSON 파일/엔드 포인트에서 JSON 데이터를 구별하는 방법

아니면 오류가있는 뭔가를할까요?

예컨대

d3.json(data, function(error,data){ 

    if (error) 
     //bind data directly 

}); 

답변

1

그래서 당신이 다음과 같은 상황이 같은 소리 : 당신은 기능을 가지고

function draw_graph(data) { 
    // whatever you need to do to draw the graph 
} 

다음

function maybe_xhr_and_then_draw_or_just_draw(path_or_data) { 
    if(is_remote(path_or_data)) { 
    d3.json(path_or_data, draw_graph) 
    } else { 
    draw_graph(path_or_data) 
    } 
} 

그리고 질문은 is_remote 모습을 무엇 "이다 처럼?"

만약 내가이 권리를 가지고 있다면, 본질적으로 자바 스크립트와 같은 언어로 모호한 아이디어 인 스 니프 (sniff)를 입력하는 방법을 묻습니다 (here 이유 참조).

당신이 주장하는 경우에, 당신은 할 수 있습니다 : 링크 및 답변

function is_remote(path_or_data) { 
    return !(path_or_data instanceof Object) 
} 
+0

감사합니다! – user2483724