[英]Convert input String into JsonArray in Android
我想将输入坐标转换为 JsonArray。 我是 android 新手,有人可以帮助我如何将输入双坐标转换为 json 数组我已将双值作为输入坐标并尝试将其转换为字符串 n 已将其放入 jsonObjects 但我想将其放入 JsonArray这样多个输入坐标将有多个对象。 这是我的代码。 我想转换 JsonArray 中的字符串
public class MainActivity extends AppCompatActivity {
Button submit;
TextView test;
EditText longi;
EditText lati;
JSONArray array =null;
JSONObject object = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
longi = (EditText) findViewById(R.id.longi);
lati = (EditText) findViewById(R.id.lati);
submit = (Button) findViewById(R.id.Submit);
double longdata = 21.483638;
double latidata = 24.6425675;
final String json = "{\"longitude\":" + "\"" + String.valueOf(longdata) + "\"" + "," + "\"latitude\":" + "\"" + String.valueOf(latidata) + "\"" + "}";
submit.setOnClickListener(new View.OnClickListener() {
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
@Override
public void onClick(View view) {
try {
JSONObject obj = new JsonObject(json);
Log.d("My App",obj.toString());
}
} catch (Throwable t) {
Log.d("My App","Could not parse malformed JSON:"+json+" ");
}
}
});
}
}
您将经度和纬度声明为常量。 您将如何获得多个 long 和 lat 值?
如果我假设它是正确的,您想将经度和纬度转换为数组,那么首先,您需要在这里声明 2 个数组,这是一个示例
List<Double> longitudeList = new ArrayList<>();
longitudeList.add(21.483638);
List<Double> latitudeList = new ArrayList<>();
latitudeList.add(24.6425675);
final String json =
"{\"longitude\":["
+ longitudeList.stream().map(Object::toString).collect(Collectors.joining(","))
+ "],\"latitude\":["
+ latitudeList.stream().map(Object::toString).collect(Collectors.joining(","))
+ "]}";
如果你这样做,你的 json 看起来像这样
{"longitude":[21.483638],"latitude":[24.6425675]}
然后将其传递给 JSONobject 构造函数并应用您的逻辑。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.