問題タブ [ptree]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1302 参照

jsf - ap:tree でのフォルダ システムの作成

フォルダーを選択し、そのファイルを一覧表示する必要があります。

しかし、ユーザーにファイル システムへのアクセス権を与えることはできないため、特定のパス (/u01/SNV) からサブフォルダーを一覧表示する必要があります。

そのために a を使用しようとして<p:tree>います。しかし、私はツリーへの移植を管理できないようです。(私は数日前からGoogleで探しています)

それは私がツリーのために持っているコードです:

[更新] ハード ドライブでフォルダーを検索し、それらのフォルダーに基づいてノードを作成するルーチンが必要です。特定のフォルダーはありません。それらを動的に読み取る必要があります。[/UPDATED]

よろしくお願いします。

0 投票する
0 に答える
184 参照

visual-c++ - Boost PTNode/PTree へのノード挿入が MSVC C++ で機能しないのはなぜですか?

現在、Boost C++ ライブラリを利用する Microsoft (アンマネージ) C++ プロジェクトに取り組んでいます。C++ を使用してからかなりの時間が経ちましたが、Boost ライブラリを使用した経験はありません。

Boost 1.55 と MSVC 2013 を使用しています。CMake を使用して、元のプロジェクト レイアウトに基づいて Visual Studio ソリューションとプロジェクトを生成しました。

他の環境での構築とテストに成功しています。MSVC - Windows 環境では、Boost のプロパティ ツリー サポートを使用して問題が発生しました。具体的には、問題はプロパティを PTNodes に入れようとすることに集中しているようです。

次のコード スニペットを検討してください。

::SetResult() では、ツリーに挿入した値をすぐに取得しようとします。そのノードが見つからないため、Boost は例外をスローします (ツリーは実際には空です)。

コール スタックは次のようになります。

実際に例外をスローするブースト コード: template basic_ptree & basic_ptree::get_child(const path_type &path) { path_type p(path); self_type *n = walk_path(p); if (!n) { BOOST_PROPERTY_TREE_THROW(ptree_bad_path("そのようなノードはありません", path)); *nを返します。}

この問題の回避策が見つかりました。ハック/修正は、パスを構築し、put() を介してツリーに直接挿入することです。

この回避策は、ノードをツリーに正常に挿入するようです。::SetResult() で挿入されたアイテムを見つけることで確認できます。

これが VisualStudio C++ で失敗する理由について何か考えはありますか?

これはコンパイラフラグの問題ですか?

プリコンパイラ定義?

リンカーオプション??

メモリモード/モデル??

MSVC C++ とその他の C++ 環境で、認識されていない基本的な動作の違いはありますか?

ノード挿入パターンのすべてのインスタンスを特定し、回避策を使用しようとしました。しかし、問題が何であるかを突き止める必要があります (他の兆候がある可能性があるため)。

考え、ガイダンス、アイデアはありますか?この問題に対する回答を検索する他の場所はありますか?

前もって感謝します、ジョンB

0 投票する
2 に答える
4514 参照

json - ブースト::ptreeを見つけますか? または深い配列にアクセスする方法は?C++

ブースト ライブラリから json_reader ptree にアクセスするために、私はあまりにも多くの時間を費やしてきました。

本当に頻繁にカプセル化されるjsonファイルがあります:(pseudo-json:)

これで、すべての FooBar の FooBarValue1 と FooBarValue2 を取得するだけで済みます。

ptree が配列を空の子 ("") と一緒に配置することは知っています

すべての子を再帰的に反復することで、すべてのメンバーにアクセスできます。

しかし、特別な値にアクセスするためのより良い方法はありませんか?

ptree find はどのように機能しますか? 私はいつもコンパイルエラーが発生します...

エラー: 'boost::property_tree::basic_ptree, std::basic_string >::assoc_iterator' から非スカラー型 'boost::property_tree::basic_ptree, std::basic_string >::const_iterator' への変換が ptree::const_iterator を要求しましたmyIT = jsonPT.find("FooBarValue1");

この ptree にアクセスするためのヒントを誰か教えてくれませんか?!?

0 投票する
1 に答える
742 参照

c++ - キー名がドット (.) の場合、C++ で ptree を使用して json から値を取得します。

ptree を使用して、複数の . キーで。

だから私はjsonを持っています、

電話してみた

しかし、値を取得できません。私を助けてください

0 投票する
1 に答える
130 参照

json - ptree 内の ptree を使用して JSON パーサーをブーストする

そのため、割り当てに取り組んでおり、ネットワーク経由で送信するために、いくつかのプロパティを json に解析する必要があります。最終的な値は次のようになります。

だから私が持っているコードは

myplayer は、snumber、alias、firstname、lastname を含むクラスです。エンコード関数は ptree を返しますが、write_json に移動すると、ptree 内の ptree を処理する方法がわからないようです。myPlayer を json に解析してツリーに入れようとしましたが、これが得られます

ptreeでptreeを実行できるように、または引用符のエスケープを追加せず、Identityプロパティの値を文字列として配置しないように、ptreeを解析するためにブーストを取得するにはどうすればよいですか? ありがとう

0 投票する
1 に答える
58 参照

c++ - ファイルを読み取るため、または値を保存するためだけに PTree をブーストしますか?

json という構成ファイルがあります。そのファイルを読み取り、値を保存するクラス (ConfigFile) を作成しました (boost パーサーと ptree を使用)。ptreeをConfigFileクラスのメンバーとして使用するのは良い習慣ですか、それともjsonを読み取って値をマップメンバーに保存するためだけに使用しますか?