Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/181.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将字符串转换为jsonArray_Java_Android_Json - Fatal编程技术网

Java 将字符串转换为jsonArray

Java 将字符串转换为jsonArray,java,android,json,Java,Android,Json,我的字符串: String bu = "[{\"name\":\"Personal Care\",\"created_at\":\"2018-04-29T10:55:37+00:00\",\"id\":2},{\"name\":\"Domestic Appliances\",\"created_at\":\"2017-04-23T19:47:39+00:00\",\"id\":3},{\"name\":\"Coffee\",\"created_at\":\"2017-11-08T20:46:1

我的字符串:

String bu =  "[{\"name\":\"Personal Care\",\"created_at\":\"2018-04-29T10:55:37+00:00\",\"id\":2},{\"name\":\"Domestic Appliances\",\"created_at\":\"2017-04-23T19:47:39+00:00\",\"id\":3},{\"name\":\"Coffee\",\"created_at\":\"2017-11-08T20:46:14+00:00\",\"id\":4}]"
我用于将字符串转换为JsonArray的方法:

JsonParser jsonParser = new JsonParser();
JsonElement jsonElement = jsonParser.parse(bu);
Log.v("s" , jsonElement.getAsString());
JsonArray jsonArray = jsonElement.getAsJsonArray();
我在日志中获取的错误:

06-21 18:39:43.265 9128-9128/com.harit.abs E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.harit.abs, PID: 9128
java.lang.IllegalStateException: This is not a JSON Array.
    at com.google.gson.JsonElement.getAsJsonArray(JsonElement.java:106)
    at com.harit.abs.Sync_Activity$2.onCompleted(Sync_Activity.java:95)
    at com.harit.abs.Sync_Activity$2.onCompleted(Sync_Activity.java:80)
    at com.koushikdutta.async.future.SimpleFuture.handleCallbackUnlocked(SimpleFuture.java:107)
    at com.koushikdutta.async.future.SimpleFuture.setComplete(SimpleFuture.java:141)
    at com.koushikdutta.async.future.SimpleFuture.setComplete(SimpleFuture.java:128)
    at com.koushikdutta.ion.IonRequestBuilder$1.run(IonRequestBuilder.java:246)
    at com.koushikdutta.async.AsyncServer$RunnableWrapper.run(AsyncServer.java:60)
    at android.os.Handler.handleCallback(Handler.java:751)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:154)
    at android.app.ActivityThread.main(ActivityThread.java:6077)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)

这里是JSONObject,所以请更改

JSONArray jsonArray = new JSONArray(readlocationFeed); 
符合下列要求

JSONObject jsnobject = new JSONObject(readlocationFeed);
之后

JSONArray jsonArray = jsnobject.getJSONArray("locations");
for (int i = 0; i < jsonArray.length(); i++) {
    JSONObject explrObject = jsonArray.getJSONObject(i);
}
JSONArray-JSONArray=jsnobject.getJSONArray(“位置”);
for(int i=0;i
这是一个JSONArray。。。。你也可以试试这样的。。。当然,在我看来,这要简单得多

试试这个

String bu=“[{\“name\”:\”个人 Care\“,”创建于\“:\”2018-04-29T10:55:37+00:00\“,”id\“:2},{\”姓名\“:\”国内 电器“,”创建地点“:”2017-04-23T19:47:39+00:00“,”id“:3},{”姓名“:”咖啡“,”创建地点“:”2017-11-08T20:46:14+00:00“,”id“:4}”

试试看{
JSONArray数组=新的JSONArray(bu);
System.out.println(数组);
对于(int i=0;i
上述代码将打印出以下内容:

[{“姓名”:“个人” Care,“创建于”:“2018-04-29T10:55:37+00:00”,“id:2},{“姓名”:“国内” 电器,创建时间:2017-04-23T19:47:39+00:00,id:3},{“名称:”咖啡,创建时间:2017-11-08T20:46:14+00:00,id:4}]

个人护理

国内的

用具

咖啡


对meCan confirm来说效果很好,没有任何问题。这不是问题。Op似乎使用gson而不是jackson
try {
        JSONArray array = new JSONArray(bu);
        System.out.println(array);

        for (int i = 0; i < array.length(); i++) {
            System.out.println(array.getJSONObject(i).getString("name"));
        }
    } catch (JSONException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }