0

JSON:

{"attribute1":11, "attribute2":"string atribute"}

attribute1 と attribute2 の種類を検出したい:

  • attribute1 は整数です
  • attribute2 は文字列です

jsonObject.getAttributeType("attribute2"); // 出力する必要があります: string/integer/boolean.

PHP または OBJC で実現するのは非常に簡単でした。提案?

4

1 に答える 1

2

(パッケージの Android はorg.json、json.org サイトで見つけることができるものと同じであると想定しています... here。)

基礎となる値を提供するa の唯一のメソッドはJSONObject...強制せずに...ですJSONObject.get(name)。が既知の場合name、結果は値を内部的に表すオブジェクトです。コードの包括的なトロールは行っていませんが、次のいずれかのタイプのみであると考えられます。

  Boolean, Long, Double, String, JSONArray, JSONObject

を使用してこれらを区別できるはずですinstanceof


しかし、これが正しいことかどうかを自問する必要があります。APIを介して JSON オブジェクト属性を処理する通常の方法JSONObjectは、期待する型に変換するメソッドを使用することです。ほとんどの場合、数値が送信される42か、42.0または"42"...として送信されるかどうかは問題ではありません。意図が簡単に判断できる場合は、うるさくしないのが最善です。

于 2013-07-09T22:57:05.963 に答える