2017-07-25 10 views
0

これは難しいハードルではないはずですが、これをどのように回避するのか分かりません。私は、ArrayObjectオブジェクトとObjectObjectオブジェクトを使用してサーバー上にJSON構造を生成し、それをサーバー側のデータソース(ワーク)とクライアント側の両方として使用したいと考えています。サーバーからクライアントにデータを簡単に転送するにはどうすればよいですか?XPage:JSONサーバー側を生成し、クライアント側を使用

私はScriptBlockでtoJsonを試しましたが、失敗しました(Javaエラーのため、正しく覚えていればFBSUndefinedで何かが失敗します)。私も同じエラーで、jsonRpcServiceコントロールでtoJsonを試しました。私は、私が持っているオブジェクトを文字列にするために他の方法を見つけようとしますが、それはそれについてです。私はAjax呼び出しを行うことができますが、それは最後の解決策になります。

サーバーオブジェクトをブラウザに転送するその他の方法がありますか?

ありがとうございます!

+1

FBSUndefinedエラーを取得すると、明示的にJSONを作成するオブジェクトに「未定義」値が含まれていることを示します。これは、たとえば、オブジェクトのプロパティを、このプロパティを含まない別のオブジェクトのプロパティと等しく設定した場合に発生します。 IMOはあなたのデータが問題であり、JSONを作成する方法ではありません。最初にオブジェクトを生成するコードをチェックする必要があります。問題の原因となる部分が見つからない場合は、繰り返し実行して未定義の値を検索するヘルパー関数を書くことができます... –

+0

ああ...おっと...私はJSON生成コードの大部分を削除しましたわずかな例しか残さず、今ではうまくいくように思えます:$ –

+0

解決済み...あなたのコメントを回答にプロモートすると、質問を閉じることができます。 –

答えて

1

はあなたのJSONを作成したいオブジェクトが明示的に「未定義」の値が含まれていることを示しています。これは、たとえば、オブジェクトのプロパティを、このプロパティを含まない別のオブジェクトのプロパティと等しく設定した場合に発生します。

IMOあなたのデータは問題であり、JSONを作成する方法ではありません。最初にオブジェクトを生成するコードをチェックする必要があります。問題の原因となる部分が見つからない場合は、ヘルパー関数を記述してオブジェクトを繰り返し調べ、未定義の値を検索します。

3

最も簡単な方法は、コードをサービスBeanにラップし、カスタムRestサービス(ExtLibのコントロール)を使用することです。私は手順についての記事を書いた:

https://www.wissel.net/blog/2014/10/custom-rest-service-in-xpages-using-a-service-bean.html

あなただけSSJS ...アプローチはまだ動作を使用している場合。 SSJSを使用してコントロール内でレスポンスをコーディングすることができます。

+0

私はカスタムRestサービスを何か他のものに使っていましたが、ここではJsonRpcのような本当のシンプルなものを作りたいと思っていました。そして、それはついに終わります。 –

3

Javaの場合、com.ibm.commons.util.io.json.JsonJavaArraycom.ibm.commons.util.io.json.JsonJavaObjectを使用することをおすすめします。それらはマップ/リストのように機能し、それらのインタフェースを含むことができます(したがって、私は.put(myKey, myArrayList)経由でJsonJavaObjectにArrayListを追加します)。たとえば、Output ScriptブロックのJSONとして出力するには、JsonJavaObject.toString()またはJsonJavaArray.toString()を呼び出します。これは、今後のブログ投稿でチャートに表示されるソリューションです。 FBSUndefinedエラーを取得

+0

面白い!私はあなたのブログを読んでいます。 –

関連する問題