JSON:
{"attribute1":11, "attribute2":"string atribute"}
我想检测attribute1和attribute2是什么类型的类型:
jsonObject.getAttributeType( “attribute2”); //应该输出:string / integer / boolean。
在PHP或OBJC中很容易实现。建议?
答案 0 :(得分:2)
(我假设org.json
包的Android与您在json.org网站上找到的相同...... here。)
JSONObject
上唯一可以为您提供基础价值的方法...而不是强制它......是JSONObject.get(name)
。如果已知name
,则结果是在内部表示值的对象。我没有对代码进行全面的拖网,但我认为它只能是以下类型之一:
Boolean, Long, Double, String, JSONArray, JSONObject
您应该可以使用instanceof
来区分这些内容。
但是应该问自己这是否是正确的做法。通过JSONObject
API处理JSON对象属性的普通方法是使用将它们强制转换为您期望的类型的方法。在大多数情况下,如果号码以42
或42.0
或"42"
发送,则无关紧要...如果意图很容易确定,最好不要挑剔