我得到一个InputStream并将其转化为String
,然后JSONObject
无法字符串转换为JSONObject的
下面是摘录转换的InputStream String,然后JSONObject的。
但转换成JSON对象(6号线),我只得到了第一object
,而不是所有的objects
可否请您让我知道后,为什么我只得到一个对象,而不是所有的n 对象
InputStream in = new BufferedInputStream(conn.getInputStream());
String result = org.apache.commons.io.IOUtils.toString(in, "UTF-8");
int i =result.indexOf("{");
String forResult=result.substring(i);
System.out.println(forResult); // Result 1
JSONObject jsonObject = new JSONObject(forResult); // Line 6
System.out.println(jsonObject); // Result 2
将其转换为字符串后,它看起来像这样
结果-1
{
"test_expr":"",
"val_expr":"someVale",
"val_advanced":true,
"machine_val":null
}, {...// n times}
结果 - 2 - 仅第一个对象
{
"test_expr":"",
"val_expr":"someVale",
"val_advanced":true,
"machine_val":null
}
谢谢,请大家多多包涵我的无知,因为我在Java
'JSONObject'不会进一步比封闭'}'解析。流中的内容是否是JSON数组?你为什么子串? –
@SotiriosDelimanolis在使用'org.apache.commons.io.IOUtils.toString(in,“UTF-8”)转换它后,它看起来像这个[{...},{...} ...]; ' – brk
好吧,它是一个JSON数组。使用'JSONArray'解析它。 –