java - 如何从 JSONObject 接收数据到简单数组
问题描述
我正在尝试获取 JSONObject 内部的 int 并将其放入字符串数组中,但我只能将其放入简单的字符串中。
这就是 JSONObject 里面的内容{"codigo":2,"nome":"Teste 2"}
那是我可以将 int 从 codigo 传递给简单字符串的代码
String informacao;
String code;
String name[];
ListView listView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
informacao = intent.getStringExtra("INFO");
try{
JSONObject jo = new JSONObject(informacao);
for (int i = 0; i < jo.length(); i++){
Log.i("ENTROU", "entrou");
code = jo.getString("codigo").toString();
Log.i("CODE!!!", code.toString());
}
} catch (JSONException e){
Log.i("ERRO", e.toString());
}
来自它的Logcat
2020-03-20 09:48:48.046 23998-23998/br.com.ifractal.Stou I/ENTROU: entrou
2020-03-20 09:48:48.046 23998-23998/br.com.ifractal.Stou I/CODE!!!: 2
2020-03-20 09:48:48.046 23998-23998/br.com.ifractal.Stou I/ENTROU: entrou
2020-03-20 09:48:48.046 23998-23998/br.com.ifractal.Stou I/CODE!!!: 2
现在,当我尝试将其放入字符串数组中时
String informacao;
String code[];
String name[];
ListView listView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent = getIntent();
informacao = intent.getStringExtra("INFO");
try{
JSONObject jo = new JSONObject(informacao);
for (int i = 0; i < jo.length(); i++){
Log.i("ENTROU", "entrou");
code[i] = jo.getString("codigo").toString();
Log.i("CODE!!!", code[i].toString());
}
} catch (JSONException e){
Log.i("ERRO", e.toString());
}
来自那个的Logcat
2020-03-20 09:56:25.195 25695-25695/br.com.ifractal.Stou I/ENTROU: entrou
解决方案
您没有设置数组的长度。它不会像 JavaScript 那样动态增加。如果你像这样初始化数组:String code[] = new String[10];
你应该能够设置它的元素。
推荐阅读
- java - 将值存储在 Resources 文件夹中的必要性有多大?
- scala - 使用过滤器隐藏/更改部分 URL
- c# - 如何在 C# 中获取 File.rar 中文本文件的路径
- python - 为什么解压缩会删除对象的内容
- php - SQL查询从同一个字段进行2个总和
- c# - 身份验证 DeutscheBahn API
- spring - 如何使用 WebFlux 解析不符合 Server Sent Events 的事件流?
- html - 阿拉伯字体没有完全应用?
- express - 如何使用 Express api 在 Ember 应用程序中使用 JSON Web Token 实现登录页面
- python - 编写一个函数来将方阵与python中的矩阵列表分开?