如何将SMValue解析为String数组

时间:2013-04-05 17:10:57

标签: stackmob

我刚刚熟悉StackMob服务器端自定义代码sdk,我正在尝试获取关系字段并以String数组的形式迭代它。我怎么做 ?是否可以在不将其解析为数组的情况下迭代它?

           DataService ds = serviceProvider.getDataService();
           List<SMCondition> query = new ArrayList<SMCondition>();
           query.add(new SMEquals("product_id", new SMString(jsonObj.getString("product_id"))));
           List<SMObject> results = ds.readObjects("product", query);
           SMObject product= results.get(0); 
           //product.getValue().get("categories"); how do i get this to be a String array?

1 个答案:

答案 0 :(得分:2)

最简单的是,它看起来像这样:

List<SMValue> categories = (List<SMValue>)(rawObj.getValue().get("categories").getValue());
for (SMValue smString : categories) {
    SMString stringValue = (SMString)smString.getValue();
    //do whatever you want with the string value here
}

显然这里有一些未经检查的强制转换,因此您需要根据数据和数据添加类型/空值检查到相应的部分。架构。