创建一个应用程序,其中我想从json获取字符串,但我有一个键和多个值,所以我不知道如何处理它。
"colours": "#fff600,#000000,#ffffff,#00000,#ff9900,#333333"
并希望在不同的课程中使用这种颜色:
final ValueAnimator colorAnimation = ValueAnimator.ofObject(new android.animation.ArgbEvaluator(), Color.RED, Color.BLUE,Color.WHITE,Color.YELLOW,Color.CYAN,Color.MAGENTA,Color.GREEN,Color.GRAY);
colorAnimation.setDuration(1400);
答案 0 :(得分:1)
将颜色的值放在字符串变量中,然后按照以下方式拆分字符串并将其添加到arraylist中:
String[] arr = str.split(",");
ArrayList<String> arr1 = new ArrayList<String>();
for (int i=0; i<arr.length; i++){
arr1.add(arr[i]);
}
答案 1 :(得分:1)
获取颜色值并使用&#39;,&#39;&#39;像这样的delima:
StringTokenizer stringTokenizer = new StringTokenizer(colorValueString, ",");
还有stringTokenizer.nextToken
来获取字符串
答案 2 :(得分:0)
您可以将颜色的值作为字符串获取,然后将字符串拆分为以下部分:
String colours = json.getString("colours");
Log.d(TAG, colours);
String items[] = colours.split(",");
for (String item : items) {
Log.d(TAG, item);
}
答案 3 :(得分:0)
如果你拥有json
你应该使用JSONArray:
"colours": ["#fff600","#000000","#ffffff","#00000","#ff9900","#333333"]
并阅读
JSONObject json = ...;
JSONArray colorsArray = json.getJSONArray("colours");
for(int i = 0; i < colorsArray.length(); i++) {
String colorString = colorsArray.getString(i);
int color = Color.parseColor(colorString);
// you should probably also catch IllegalArgumentException for wrong input
}
如果您不拥有json
您可以将其作为字符串阅读并以逗号分隔:
JSONObject json = ...;
String colorsString = json.getString("colours");
String[] colorStrings = colorsString.split(",");
for(String string : colorStrings) {
int color = Color.parseColor(string);
// you should probably also catch IllegalArgumentException for wrong input
}