問題タブ [libjson]

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 投票する
2 に答える
1602 参照

c++ - JSON 文字列から配列を取得中にエラーが発生しました

メイン関数で定義された JSON Stingrg から配列を取得しようとしています。これにはlibjson APIを使用しました。単純なキー値は簡単に取得できるため、RootAの値を取得できますが、ChildAのこの配列はどうですか。私にお知らせください

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

c++ - jsoncpp (libjson) のリンク

cmake を使用して jsoncpp ( lib_json ) を C++ プロジェクトにリンクしようとしています。あるコンピューターでは完全に正常に動作しますが、別のコンピューター (ほぼ同じ構成) では、アプリを実行するとエラーが発生します。

dyld: ライブラリがロードされていません: buildscons/linux-gcc-4.2.1/src/lib_json/libjson_linux-gcc-4.2.1_libmt.dylib

参照元: 実行可能ファイルへのパス

理由: 画像が見つかりません

これを引き起こしている可能性のある考えはありますか?jsoncpp を usr/lib/ に配置し、名前を libjsoncpp に変更したため、@ buildscons/linux-gcc-4.2.1/src/lib_json/libjson_linux-gcc-4.2.1_libmt.dylib を見ようとする理由さえ理解できません。そしてcmakeは正しいパス/ライブラリを見つけます。

また、両方のコンピューターでまったく同じ方法でjsoncppを構築しました。

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

c++ - 無効な入力により、ポリグロットJSONメッセージングシステムで認証バイパスが発生しますか?

これは、セキュリティ上の脆弱性があると思われる JSON メッセージの送信に基づく非常に単純なシステムです。JSONオブジェクトを受け取り、それらに作用するPythonサーバー(標準ライブラリに含まれるJSONモジュールを使用)があります。取得した場合は{"req": "ping"}、単純に を返します{"resp": "pong"}。また、ボリュームを設定するためのコマンドと、管理者パスワードを変更するためのコマンドもあります。管理者は任意の JSON をこのサーバーに送信できます。ここにあります(server.py):

stdin からコマンドを読み取り、処理します。別のスクリプトは、JSON オブジェクトをネットワーク ソケットから読み取り、このスクリプトに渡します。

他のユーザーは、 libjsonを使用して C++ で記述されたプロキシを通過する必要があります。管理者権限が必要なリクエストをブロックするだけです。たとえば、ユーザーが管理者パスワードを変更しようとすると、プロキシはコマンドを拒否します。

コードは次のとおりです (proxy.cpp):

プロキシを使用するには、ソケットを管理するメイン スクリプトがプロキシを介してデータをパイプし、そのデータを Python サーバーに出力します。

また、ユーザーが制限されたコマンドを実行しようとすると、期待どおりに失敗します。

しかし、何らかの理由で、「req」キーが JSON に 2 回ある場合 (違法ではないでしょうか?)、管理者以外のユーザーが管理者パスワードを変更できます。

なんで?


Mike McMahon の回避策を試す:

回避策として使用JSONNode.findしてみましたが、機能していないようです。

すべての要素を繰り返してみました:

これは機能します:

JSONが無効な場合、セグメンテーション違反を除いて? イテレータを間違って使用していますか?

を次のように置き換えましn.begin()n.find("y")

まったく機能しません。イテレータを間違って使用していますか?


回避策の別の試み:

できます!

しかし、まだ無効な JSON 入力でセグメンテーション違反が発生しますか?

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

c++ - xcode に C++ json ライブラリをインストールする

私は xcode と c++ プログラミングに非常に慣れていないので、これについてすべて間違っている場合はお知らせください。基本的に、json 呼び出しの送受信を処理するライブラリを必要とする C++ プロジェクトを作成したいと考えています。(これは、最終的には iOS および Android アプリの「エンジン」として統合されます。) これを作成するために xcode を使用したいのですが、libjson をインストールしようとしましたが、認識できませんでした。次に、JsonCpp を使用してみましたが、その指示に従いました。

1) tar.gz をダウンロードしました 2) scons python プログラムを jsoncpp フォルダーにダウンロードし、適切なコマンドを実行しました (「python scons.py platform=linux-gcc check」など)。

これにより、 .a および .dylib ファイルが作成されました

次に、ファイルをプロジェクトに移動し、プロジェクト設定の [ビルド フェーズ] タブの [ライブラリとバイナリをリンク] 部分から xcode でリンクしようとしました。

インクルード ステートメントを使用して、コードをファイルにリンクしました。 #include "lib/jsoncpp/json.h"

これにより、次のエラーが発生しました。

アーキテクチャ x86_64 の未定義シンボル: "Json::Reader::parse(std::__1::basic_string, std::__1::allocator > const&, Json::Value&, bool)"、参照元: jsonParser::parseLogin( std::__1::basic_string、std::__1::allocator >&、std::__1::basic_string、std::__1::allocator >&) jsonParser.o ld: アーキテクチャのシンボルが見つかりませんx86_64

(null): "Json::Reader::parse(std::__1::basic_string, std::__1::allocator > const&, Json::Value&, bool)"、次から参照:

私がやろうとしているのは、このライブラリをセットアップすることだけですが、解決策を探して、過去 1 日間、自分のコードに取り組むことができませんでした。

libjson ライブラリについては、こちらの指示に従ってみましたが、同様の問題がありました: XCode 4 プロジェクトの c++ 埋め込みに libjson をインストールできません

これを設定するために私が取ることができる手順について誰かアドバイスがありますか? お時間をいただきありがとうございます。

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

c++ - libJson を使用して構造体の配列を作成する

JSON ファイルの解析に libJson (C++ ライブラリ) を使用しています。私のJSONファイルは次のようになります。

Employee と Computer の構造体があります。構造体の配列を作成したいと思います。

libJsonでこれを行う方法はありますか?

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

json - libjson を使用して名前でオブジェクトを取得できますか?

libjson を使用して名前でオブジェクトを取得できますか?

libjson をインストールしました。オブジェクト名で値を取得する方法がないことに驚いています。独自の関数を作成する必要がありますか、それとも何か不足していますか?