2011-08-04 7 views
1

ファンクションcue.getCueAsSource();私は、私は、私はそのJSONファイルから必要なデータをすべて取得することができgetJSON関数の第一引数でその出力を配置する必要がgetJSON jquery関数のパーサとして属性を与える

{ 
"A" : 
    { 
     "B" : [{"value" : "brunos homepage" , "type" : "literal"}] 
    } 
} 

は私にこのようになりますきれいJSONファイルを提供します。関数としてパラメータを受け入れることはできないので、文字列(変数に間違っていることがあります)があるため、変数に置きます。

var cueText = cue.getCueAsSource(); 

$.getJSON(cueText, function(json) { 
    $('#meta').html('<p>Title: ' + json.A.B[0].value + '</p>'); 
}); 

しかし、それは放火犯でこのエラー私をスロー:

GET { "A" : { "B" : [{"value" : "brunos homepage" , "type" : "literal"}] } } 
500 Internal Server Error 

間違っていますか?いくつかの関数からjson出力をgetJSON関数に置く他の方法はありますか?どうもありがとう。再び。

答えて

2

これには$.getJSON()は必要ありません。 $.getJSON()$.ajax()のエイリアスで、サーバーからJSON形式のデータを取得し、それをオブジェクトにあらかじめ解析して与えます。

すでにJSONという文字列があります。明らかに解析する必要があります。用途:

var cueText = cue.getCueAsSource(); 
var cueObject = JSON.parse(cueText); 
$('#meta').html('<p>Title: ' + cueObject.A.B[0].value + '</p>'); 

は、IE以外のすべてのブラウザは、内蔵の標準JSON APIを持っているIEの場合は、Crockford's json2.jsをdownalodし、あなたのページにあります。存在する場合は標準APIだけを残しておき、それ以外の場合はそれを提供することは十分にスマートです。私は、jQueryが標準APIを常に使用するように、jQueryの前にそれを含めることを好みます。

+0

はい、理解しました。うまくいきます! 私も副次的な質問があります。SubjectとPredicateの名前が動的に変化している場合、この構造体内の値にアクセスする方法はありますか? "A"と "B"(この例では)などの何らかの関数を返す関数があります。また、「A」構造体にいくつかのネストされた述語がある場合。 – 3mpetri

+0

答えを受け入れてくれてありがとう!あなたの側の質問については、私は本当にあなたが何を求めているのか分からない - 部分的に私はあなたの用語を理解していないため、部分的にあなたのシステムがどのようなものか、何をしているのかという概念がない。おそらく、あなたはそれをよりよく説明し、より多くのコードとデータのサンプルを提供できる新しい質問を始めるべきでしょう。 – JAAulde

+0

私はrdf/json構文を使用しています - [リンク] http://docs.api.talis.com/platform-api/output-types/rdf-json、 ** A **は実際には「件名」です"** B **は"述語 "ですが、問題は動的に変化していることです。だから、私は何とか特定の**値**へのパスを手動で入力するのではなく、何らかの形でJSON構造からフェッチする必要があります。 'var a = ''; // rfd/jsonの件名を取得する方法は? var b = ''; // rdf/json述語を取得する方法は? $( '#meta')。append(cueObject [a] [b] [0] .value); ' – 3mpetri

関連する問題