JSON、C++、C++ REST SDKの新機能ですので、今は2つのベクターからJSONオブジェクトを作成するのに苦労しています。 は、私が今持っているもの:ディメンション・データを含む2つのベクトルC++で2つのベクトルからJSONオブジェクトを作成する方法は?
std::vector<glm::vec3> bookDimension{
glm::vec3(x1, y1, z1), // element in vector are float type
glm::vec3(x2, y2, z2), // element in vector are float type
glm::vec3(x3, y3, z3), // element in vector are float type
};
std::vector<glm::vec3> containerDimension{
glm::vec3(x4, y4, z4), // element in vector are float type
};
が、私はこれらの2つのベクトルを使用して、単一のJSONオブジェクトを作成したい、JSONオブジェクトの構造は、うまくいけば、この
{"b":[
[x1,y1,z1],[x2,y2,z2],[x3,y3,z3]
],
"c":[[x4,y4,z4]
]
}
のようなものです私は正しいobjをどのように初期化するかについてはわかりません。以下は、私がこれまで
json::value jsonObj;
std::vector<glm::vec3>::const_iterator it = bookDimension.begin(), end = boxDimension.end();
for (; it != end; ++it) {
(jsonObj["b"][it][0]) = it->x;
jsonObj["b"][it][1] = it->y;
jsonObj["b"][it][2] = it->z;
}
達することができるものであり、エラーは(「のラインXXXXで宣言 ウェブ:: JSON ::値::演算子[](constのはstd ::文字列&キー)..です\ json.h ")がアクセス可能になっています
ヘルプ/ヒントを事前に評価してください!どうもありがとうございました!
ができ、間違っています。唯一の問題は潜在的な余分なカンマです。これは、ガード条件を修正するか、ベクトル処理が完了したときに文字列を編集することができます。これまでに何を試しましたか? –
ええ、私はあなたが示唆していることをしようとしていましたが、JSONの初期化については混乱しています。 JSON配列を使うべきですか?または単にJSON値ですか?今私が理解しているのは、json :: array jsonVector()のようなパラメータを作ることです。自動反復して値jsonVector ["b"] [it] [0] = it-> xを割り当てます。 jsonVector ["b"] [it] [1] = it-> y; –
質問を編集してみてください。<あなたがちょうどコメントしたもの>を試しましたが、うまくいきませんでした。このエラーはです。コードはコメントで読むのが本当に難しいです。また、私はjson :: arrayについて聞いたことがありません。いくつかのライブラリであれば、あなたの質問にも言及したいかもしれません。 –