我有一个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");
}
但不能将值返回变量。如何解决问题?
答案 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