如何将json对象转换为字符串数组

时间:2015-07-30 06:13:15

标签: java android json

我有一个null String变量,String数组是股票字符串变量,如下所示:

String value1;
String value2;

String[] arr = {value1,value2};

JSON 对象中,我尝试编码:

for(int i=0;i < jLocation.length();i++){
    value1 = jLocation.getJSONObject(i).getString("name");
    value2 = jLocation.getJSONObject(i).getString("location");
} 

但不能将值返回变量。如何解决问题?

2 个答案:

答案 0 :(得分:1)

看起来你想在一个数组中存储名称和位置,如果是,那么

for(int i=0; i < jLocation.length(); i++){
    arr[0] = jLocation.getJSONObject(i).getString("name");
    arr[1] = jLocation.getJSONObject(i).getString("location");
} 

注意 - 此代码假设您只有一个名称和位置。但是我想你做下面的事情:

创建一个Location类,例如以下

public class Location {
    private String name;
    private String location;

    public Location(String name, String location) {
        this.name = name;
        this.location = location;
    }

    public String getName() {
        return name;
    }

    public String getLocation() {
        return location;
    }
}

然后像下面这样使用它:

public static void main(String[] args) {
        List<Location> locations = new ArrayList<Location>();

        for(int i=0; i < jLocation.length(); i++){
            String name = jLocation.getJSONObject(i).getString("name");
            String location = jLocation.getJSONObject(i).getString("location");

            locations.add(new Location(name, location));
        } 
    }

答案 1 :(得分:0)

试试这个

#Vector Test
import math

class Vector2(object):

    def __init__(self, x=0.0,y=0.0):
        self.x = x
        self.y = y

    def __str__(self):
        return"(%s,%s)"%(self.x,self.y)

    @classmethod
    def from_points(cls, P1, P2):
        return Vector2(P2.x-P1.x,P2.y-P1.y)

    def get_magnitude(self):
        return math.sqrt(self.x**2 + self.y**2)

A = Vector2(15.0, 20.0)
B = Vector2(20.0, 30.0)
AB = Vector2.from_points(A, B)
print( AB )
print( AB.get_magnitude() )

它将仅用于向数组添加一个值。

我更喜欢//First initiate string String value1; String value2; //Read json for(int i-0;i < jLocation.length();i++){ value1 = jLocation.getJSONObject(i).getString("name"); value2 = jLocation.getJSONObject(i).getString("location"); } //Create Stting array String[ ] arr = {value1,value2}; 。然后,您可以将所有数据添加到ArrayList