問題タブ [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 - スーパーオブジェクトまたは DBXJSON を使用して正しい JSON ファイルを作成する際の問題
私は Delphi XE2 を使用しています。次の json 構造体を作成します。
スーパーオブジェクトでいくつかのテストを行いましたが、配列の最初の要素が2番目の要素と等しいため、まだ正しい結果に達していません。私の困難は反復と最適化にあります。これは私が取り組んでいるコードです:.
json - 特定の要素が SuperObject に存在するかどうかを確認する方法は?
SuperObject
JSON ライブラリを広く使用しています。特定の要素がオブジェクトに存在するかどうかを確認できる必要があります。要素の値を確認できます。たとえば、存在しない整数が返されます0
。ただし、存在する場合は可能な値の 1 つです。そのため、要素の存在0
を監視することに依存することはできません。0
これを実行できる for メソッドを確認しISuperObject
ました (たとえば、 のようなものを期待しますISuperObject.Exists(const S: String): Boolean;
) が、このようなものは何も表示されません。
特定の要素が JSON オブジェクトに存在するかどうかを確認するにはどうすればよいですか?
json - StringReplace を使用して不要な文字を JSON 応答から削除する代わりの方法
JSONファイルを解析して結果をデータベースに配置する必要がある小さなプロジェクトに取り組んでいます。私は SuperOjbect を使用してファイルを解析し、結果を生成していますが、ちょっとした障害にぶつかったので、助けが必要です。
解析する必要がある JSON ファイルの例を次に示します。実際には、これらのファイルにはこれよりも多くの情報が含まれていますが、これは、私が作業しているデータの種類の例を示すためのものです。
ファイルの一部 (この場合は配列) を解析するために使用しているコードの例を次に示します。
これにより、次のような文字列が得られます。["red", "blue", "green"]
次に、StringReplace 関数を使用してすべての[]"
文字を削除するため、このような文字列が残り、これは正常に機能しますred, green, blue
が、この方法に代わる方法を探しています。解析する必要がある JSON ファイルがより複雑な場合に予期しない問題を引き起こす可能性がある StringReplace 関数に依存するのではなく、この種のことのために設計されています。何か案は ?
delphi - json 配列を解析して TSuperObject インスタンスを作成する方法は?
これは有効ですjson
:
TSuperObject
これからを作成するにはどうすればよいstring
ですか?
json - TJson.ObjectToJsonObject/ObjectToJsonString がレコード フィールドを JSON 配列として表すのはなぜですか?
SuperObject と TJson.ObjectToJsonObject がクラスの特定の部分 (つまり、Record フィールド) を表す方法には一貫性がありません。次のコード スニペットを見てみましょう。
出力は次のとおりです。
Delphi がレコードを JSON 配列として表現する理由は何ですか? これにつながる公的基準または提案はありますか?
注: 私にとっては、配列ではなく {key: value} 表記でレコードを表す方が自然です。値が属するキー名がわからない場合、逆シリアル化中に奇妙な結果が生じる可能性があります。たとえば、逆シリアル化中に、異なるメモリ レイアウトのレコードを含む、同じレイアウトの新しいクラスを渡すことができます。この場合、値はランダムに割り当てられますか、それとも AV が発生する可能性がありますか?
更新: Delphi XE7 を使用しています。また、json.orgのこれを見つけました:
JSON は、次の 2 つの構造で構築されています。
- 名前と値のペアのコレクション。さまざまな言語で、これはオブジェクト、レコード、構造体、辞書、ハッシュ テーブル、キー付きリスト、または連想配列として実現されます。
- 値の順序付きリスト。ほとんどの言語では、これは配列、ベクトル、リスト、またはシーケンスとして実現されます。
おそらく問題は、これは TJson ユニットのバグですか?