gpt4 book ai didi

java - 提取值无法正常工作 JSON 文件?

转载 作者:行者123 更新时间:2023-12-02 11:27:28 25 4
gpt4 key购买 nike

我是java编程新手。我正在尝试获取 Instagram 用户的全名。下面是我的代码

package gibs.smith.testapp;

import android.os.AsyncTask;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

public class fetchData extends AsyncTask<Void,Void,Void> {
private String name = "";
private String link ="";
@Override
protected Void doInBackground(Void... voids) {
try {
URL url= new URL("https://instagram.com/priya.p.varrier/?__a=1");
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
InputStream inputStream = httpURLConnection.getInputStream();
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
String line = "";
while (line !=null){
line =bufferedReader.readLine();
JSONObject jo= new JSONObject(line);
JSONObject user=jo.getJSONObject("user");
name=user.getString("full_name");
}

} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}

@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
MainActivity.data.setText(this.name);
}
}

但它不起作用。它不会提取字符串值“full_name”。它正在检索 JSON 文件,但不是所需的值。网址为 https://instagram.com/priya.p.varrier/?__a=1

任何帮助都会很棒。

----编辑-----添加 graphql 对象会导致应用程序崩溃,下面是 catlog 输出这是日志 https://justpaste.it/1itsa

最佳答案

首先是错误。它一定是 NullPointerException。

    while (line !=null)

它将运行直到 line = null。那么这一行会给你异常(exception)。

    new JSONObject(line);

你应该首先获得graphql

所以解决方案应该如下所示。

if(line != null) {
JSONObject jo = new JSONObject(line);
JSONObject graphql = jo.getJSONObject("graphql");
JSONObject user = graphql.getJSONObject("user");
name = user.getString("full_name");
}

关于java - 提取值无法正常工作 JSON 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49508912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com