Как разделить ответ через сервер с помощью регулярных выражений - PullRequest
1 голос
/ 02 апреля 2019

Я хочу разделить ответ, полученный через сервер, чтобы я мог принимать значения и задавать тексты ... но я не могу принимать значения ...

response: {"status":"no", "requestCount": "0", "estelamCount": "0"}

                    String[] split_model = response.split(",");
                  //  Log.i("split_model",split_model);
                    Log.i("phoneName", split_model[0]);

log ==> I / phoneName: {"status": "no"

Ответы [ 3 ]

1 голос
/ 02 апреля 2019

Я думаю, что вы спрашиваете о разборе вашего ответа, и вот как вы это делаете

JSONObject myJson = new JSONObject(response);

String status = myJson.optString("status");
String count = myJson.optString("requestCount");
String estelamCount = myJson.optString("estelamCount");
1 голос
/ 02 апреля 2019

Вы получаете данные json с сервера, поэтому вы можете анализировать их как json, как указывалось в предыдущих ответах. Более того, вы можете использовать библиотеку Gson для анализа данных следующим образом: 1. Создайте класс, который представляет ваше размещение, вы можете использовать инструмент, подобный http://www.jsonschema2pojo.org/, чтобы получить это, просто вставьте строку json, а затем в опциях справа выберите Java в качестве целевого языка, Json в качестве источника введите Gson как стиль аннотации и введите любое имя класса, которое вы хотите использовать, результат должен выглядеть следующим образом пакет com.example;

import com.google.gson.annotations.Expose;
import com.google.gson.annotations.SerializedName;

public class Response {

@SerializedName("status")
@Expose
public String status;
@SerializedName("requestCount")
@Expose
public String requestCount;
@SerializedName("estelamCount")
@Expose
public String estelamCount;
}

Тогда, когда вы захотите разобраться с результатом, вы можете сделать это следующим образом

Gson gson = new Gson();
//now you can parse the response string you received, here is responseString
Response response = gson.fromJson(responseString, Response.class);
//now you can access any field using the response object 
Log.d("Reponse" , "status =  " + response.status  + ", requestCount = " + response.requestCount + ", estelamCount = " + response.estelamCount ; 
1 голос
/ 02 апреля 2019
        String status ="";

        JSONObject jsonObject = new JSONObject(response); //convert to json

        if (jsonObject.has("status")){ //check if has the key
            status = jsonObject.getString("status"); // get the value
        }else{

        }

        Log.d("TAG", status); // do sth with the value

        //Log => status
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...