問題タブ [qjson]
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.
qt - シリアル化を許可するために次のデータ型を登録するにはどうすればよいですか?
QJsonを使用して派生クラスをシリアル化していQObject
ます。クラス自体は問題なくシリアル化できますが、メンバーの1つになると、少し問題が発生します。
クラスには名前が付けられ、次のように定義されるCProject
プロパティが含まれています。files
のインスタンスをシリアル化するCProject
と、コンソールに次のメッセージが表示されます。
QMetaProperty::read: Unable to handle unregistered datatype 'QList<CProjectFile>' for property 'CProject::files'
データ型を登録する必要があることをどこかで読んだので、次の宣言の後に次を追加しましたCProject
:
...そしてそれが何もしなかったとき、私は付け加えました:
何も機能していません。私は何が間違っているのですか?
qt - ハッシュのjson配列をQHashのQtリストに変換します
JSONでエンコードされた辞書のQStringがあります。それらをQHashのリストに変換する簡単な方法はありますか?私はこの投稿を見てきましたQtのベストJSONパーサー?、しかし有効なQHashを取得できませんでした(空であると言います)。
そして、私はそれらをのようなもので欲しいですQList<QHash<QString,QVariant>>
。
解決済み:
c++ - gcc -I および -L オプションが機能しないようです
qmake を使用して、自分のシステムでプロジェクトをコンパイルしようとしています。プロジェクトのいくつかの依存関係はインストールされていませんが、多かれ少なかれ次のように私のホームディレクトリに存在します: libs files: /home/myusername/local/lib
and my includes directory /home/myusername/local/include
. インクルード ディレクトリ内にはqjson
、ライブラリから必要なヘッダーを含むフォルダーがあります。lib フォルダーにファイルがありますlibqjson.so libqjson.so.0 libqjson.so.0.7.1
。
私のqmakeプロジェクトファイルは次のようになります。
生成されたメイクファイルは、次のようなコマンドを生成します。
-I
私のインクルードディレクトリがgccのオプションにあることは明らかです。myfile.cc
次のようなインクルードが含まれています。
ただし、make を実行すると、次のエラーが表示されます。
ここで、環境変数を変更しCPLUS_INCLUDE_PATH
てローカル インクルード ファイルを追加すると、問題はありませんが、リンカー ステージでエラーが発生しました。
リンカーコマンドは次のとおりでしたが:
環境変数の変更も回避できますLIBRARY_PATH
。ただし、できるだけ少ない環境変数を変更することに依存するソリューションを探しています。結局のところ、オプション -L と -I があるのはなぜですか?
MinGW g++ を使用して Windows で問題なく動作します。
qt - デストラクタでの QVariantMap のクラッシュ
Qt で JSON オブジェクトを作成し、QJson を使用して QString に変換しています。これは (通常) 正常に動作し、この場合は正常に動作しますが、私の Qt データ構造のデストラクタでは、アクセス違反でクラッシュします。オブジェクトは正常に構築され、ネットワーク接続を介して送信され、関数が終了した後、アプリケーションがクラッシュします。
私のコードは次のようになります。
構築される内側のループを削除するとentryList
、すべてが正常に機能します。のデストラクタはdata
内容を削除できないようですが、理由がわかりません。データ構造全体は、シリアル化中に問題ないように見えますが (QJson が指定されたデータで何も変更しないことを願っています)、クリーンアップできません..
よろしく、 トバイアス
windows - QtCreatorで使用するためにWindowsでQJsonを構築する方法は?
Windows で QJson をビルドする方法を知りたいです。ソースをダウンロードしましたが、続行する方法がわかりません。QJson から DLL を追加する方法は複数ありますが、ライブラリ ファイルを取得するにはどうすればよいですか?
json - qjson ライブラリの使用
QJson ライブラリ アプリケーションを使用しようとすると、アプリケーションを起動することさえできません。path\app.exe exited with code 128 というメッセージが表示されます。次のように app.pro に QJson をLIBS += qjson/lib/qjson0.dll
含め#include "qjson/src/serializer.h"
ますQJson::Serializer serializer;
。アプリケーションを実行します。デバッグして問題のある行を確認しようとしましたが、プロセス mingw32-make.exe は正常に終了しましたが、メイン関数の実行すら開始していないようです。
c++ - JSONの構文を解析するためにQJsonは何を使用しますか?
qjson ライブラリのソースコードを確認したところ、いくつかの.yy
ファイルを使用しているようですが、それは何でしたか?
そのようなものは、必要な構文に使用できますか?
xcode - Mac OS X で実行時に QJSon dylib にアクセス/ロードする際に問題が発生する
コマンド ラインから QJSon コードをコンパイルすると、dylib (libqjson.0.7.1.dylib) が生成されました。次に、このファイルをアプリ内のライブラリの 1 つに外部依存関係として追加しました。(IDE として Xcode 4.3 を使用) すべてが正しくコンパイルされているようです。アプリを実行しようとすると、次のエラーが表示されます。
なぜこれが起こっているのでしょうか?
c++ - QJson :: Parser::Parserへの未定義の参照
アーカイブの指示に従って、QJsonライブラリを正常に(?)インストールしました。しかし、コンパイラは私にこのエラーを出します:
ライブラリファイルがインストールされている場所を見つけました。それは/usr/local/include/json
ディレクトリです。しかし、そこには*.h
ファイルしかありません。
最小限のコード:
main.cpp
私はLinuxを使用しています。
ファイルはどこにあり*.cpp
ますか?私は何を間違えましたか?ライブラリが完成していないのはなぜですか?
c++ - WindowsへのQJsonのインストール
現在、プロジェクトをLinuxからWindowsに移植しています。
指示に従ってQtCreatorを使用してQJsonを構築しましたが、簡単な質問が1つあります。ライブラリのdllファイルをどこに移動するか、ファイルLIBS +=
の行に何を指定するかです。.pro
Linuxでのその行の内容は次のとおりです。