問題タブ [superobject]
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.
json - SuperObject を使用して JSON リクエストから特定の値を読み取る
こんにちは、JSON 形式の Web API で次の結果を取得します。
さて、Delphi SuperObject で項目 'CodISO' = 'BOL' の値である項目 'ES' から値を読み取りたいのですが、解決策を見つけることができず、一日中試してみました。
TJSONValue
Embarcaderoで行っているようにTJSONObject
、SuperObject 要素をどのように反復するかわかりませんTJSONArray
。私は SuperObject の初心者です。
android - Delphi xe7 android ターゲットで SuperObject を使用する際のエラー
ターゲット プラットフォームを Android (SDK.22.3.32 ビット) に変更してプロジェクトをデバッグすると、次のエラーが発生します。
[DCC エラー] superobject.pas(601): E2154 タイプ 'TSuperTableString' はファイナライズが必要です - バリアント レコードでは許可されていません
次のコードは Windows で問題なく動作しますが、Android プラットフォームに変更すると動作しません。
**
解決策は何ですか?助けてください。
ありがとう。/クール
json - 複数のオブジェクトをアルファベット順にファイルに保存する Delphi JSON スーパーオブジェクト
JSON スーパーオブジェクト ライブラリを使用して、オブジェクトをファイルに保存しています。私のコードが機能したとき、それらは適切なフォーマットで書かれていました。
JsonArray
タイプもありますISuperObject
しかし、このライブラリでは逆順ソート機能が実行されているようです。オブジェクトだけでなく、その中のキーと値のペアも逆のアルファベット順に書かれています。
スーパーオブジェクトに適切な順序でファイルを書き込むにはどうすればよいですか? オブジェクトがサイクルで適切な順序で追加されることをテストしました。ファイルは次のようになっている必要があります。
json - Delphi XE7: System.JSON を使用して JSON 値を変更する方法 (対 SuperObject)
JSON ファイルをロードし、値を変更してからディスクに書き戻す必要があります。
これは SuperObject を使用すると簡単ですが、System.JSON ユニットを使用して同じことを行うにはどうすればよいでしょうか?
System.JSON の「GetValue」メソッドに相当する「SetValue」はないようです。
json - Delphi / SuperObject - サブノードにアクセスして NIL を返す
サーバーから次の JSON があります。
この値にアクセスするには、次のコードを使用しています。
このコードで単純な を使用するとLabel1.Caption := orderObj.AsString;
、次のように表示されます。
ロジックにより、 の内部の値は次のOrderItem
ようにアクセスできます: 、しかし、最初の要素である のorderObj['OrderItems.OrderItem'];
ような「簡単な」値にアクセスしようとすると、それを使用して返され、 ...のすべてのノードで同じことが起こります。OrderId
orderObj['OrderId'];
nil
orderObj
したがって、の値にorderObj.AsString
アクセスして変数に変換することはできません...
OrderItem
?の内部の値にアクセスする方法があります。私の目的はOrderItem
、次のコードを使用しての値を ClientDataSet に変換することです。
ありがとう!
json - 単純な JSON 作業: キーと値の両方を抽出する
私は、インターネット全体で JSON の作業を少し読みました。知識を得るために何を検索すればよいかを知るには知識が必要なので、初心者として、例を追跡するのが苦手な人もいると思います。Catch22. ;-)
私はスーパーオブジェクトを使用していますが、最善の方法のようです。
私の質問は、JSON をキーと値のペアに分離する必要があるということです。これまでのところ、キーが何であるかを知っている場合にのみ値を取得できました。キー (私のアプリではキーは [コマンド] です) は、すべての可能なコマンドに対してチェックされ、コマンドが一致する場合、値の部分は、いずれかの側で開始されるコマンドの引数として、パラメーターのコンマ区切りリストです。 . 次に、サーバー/クライアントはコマンド (プロシージャ/関数) を呼び出し、[commaText] を引数として渡します。([commaText] を置き換える JSON の政治的に正しい方法があるかもしれません。もちろん、それについてコメントすることもできますが、これまでのところ、[commaText] は私にとってシンプルで簡単な方法です。
短い: JSON ペアから [キー値] と [値値] の両方を抽出する必要があります。
これは私がこれまでに取り組んできたことです:
ペアのキーがすでにわかっている場合、これはペアの値を取得します。
言い換えると、キー/値の両方を JSON データから個別の文字列として抽出する必要があります (通常/基本的に、複数のキー ペアを所有し、その 1 つのコマンド/1 つの送信を行うことになります)
詳細な背景: SQLDatabase/App-Server/Many Clients の実装があります。(App-Server I/O <-> SQL、計算、クライアントへの出力、クライアントは app-server から入力/関数呼び出しを受け取り、その値を更新し、ユーザーは App-server で関数を呼び出すことができます。クライアントを使用してその関数を呼び出します -- 通信に websockets を使用します.app-server と client の両方が API で関数とプロシージャを呼び出すことができますが、client-server または server-client から一度に 1 つのコマンドになります。
また、特別なケースの JSON パーサーを作成するのは簡単ではないのではないかと思っていました。なぜなら、私のデータは常に 1 つのペアであり、大きな JSON オブジェクトではないからです...
お願いします、どんな提案でも大歓迎です
PS。Delphi 10.1 ベルリン、Windows10 x64