2015-10-30 3 views
0

я получаю запрос HTTP POST и преобразовывать поток в строкуполучить данные из строки в другие строки

result = convertInputStreamToString(inputStream); 

конвертировать InputStream в строку

private static String convertInputStreamToString(InputStream inputStream) throws IOException{ 
    BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); 
    String line = ""; 
    String result = ""; 
    while((line = bufferedReader.readLine()) != null) 
     result += line; 
    inputStream.close(); 
    return result; 
} 

формат им результат getetting

{ 
    "id":"745741798", 
    "name":"Oleg", 
    "pswhash":"$2a$10$rC8", 
    "phone":"+380 99 444 555", 
    "email":"[email protected]", 
    "status":"user", 
    "regdate":"2015-10-30T17:52:53.076Z" 
} 

Как обработать результат до String id = "745741798"; String name = "Oleg"; и т. Д.

+1

Это JSON: https://en.wikipedia.org/wiki/JSON и вот как вы можете разобрать его: http://www.androidhive.info/2012/01/android-json- parsing-tutorial/ –

ответ

1

С вашего вопроса я понял, что вам нужно разобрать значения из json.

В вашем случае,

String jsonStr = "{ 
    "id":"745741798", 
    "name":"Oleg", 
    "pswhash":"$2a$10$rC8", 
    "phone":"+380 99 444 555", 
    "email":"[email protected]", 
    "status":"user", 
    "regdate":"2015-10-30T17:52:53.076Z" 
}" 

создавать данные модели класса как,

public class Data { 
    String id; 
    String name; 
    String pswhash; 
    String phone; 
    String email; 
    String status; 
    Date regdate; 

    public String getId() { 
     return id; 
    } 

    public String getName() { 
     return name; 
    } 

    public String getPswhash() { 
     return pswhash; 
    } 

    public String getPhone() { 
     return phone; 
    } 

    public String getEmail() { 
     return email; 
    } 

    public String getStatus() { 
     return status; 
    } 

    public Date getRegdate() { 
     return regdate; 
    } 

    public Class(String id, String name, String pswhash, String phone, String email, String status, Date regdate) { 
     this.id = id; 
     this.name = name; 
     this.pswhash = pswhash; 
     this.phone = phone; 
     this.email = email; 
     this.status = status; 
     this.regdate = regdate; 
    } 
} 

Затем используйте GSon для синтаксического анализа,

Gson gson = new GSon(); 
Data data = gson.fromJson(jsonStr, Data.class); 

После этого, вы можете использовать, как,

String id = data.getId(); 
String name = data.getName(); 

и так далее.

+0

big thx, которые работают мне – user3712384

+0

Я рад, что это сработало для вас .. :) – Neela

2

Вы должны посмотреть библиотеки JSON, которые могут делать то, что вы хотите.

0

Это JSON строковый объект, и вы можете легко превратить его в объект класса, используя GSON библиотеку Google.

Создайте класс модели вашего результата с помощью метода getter и setter.

public class Result 
{ 
private String id; 

private String phone; 

private String status; 

private String email; 

private String regdate; 

private String name; 

private String pswhash; 

public String getId() 
{ 
    return id; 
} 

public void setId (String id) 
{ 
    this.id = id; 
} 

public String getPhone() 
{ 
    return phone; 
} 

public void setPhone (String phone) 
{ 
    this.phone = phone; 
} 

public String getStatus() 
{ 
    return status; 
} 

public void setStatus (String status) 
{ 
    this.status = status; 
} 

public String getEmail() 
{ 
    return email; 
} 

public void setEmail (String email) 
{ 
    this.email = email; 
} 

public String getRegdate() 
{ 
    return regdate; 
} 

public void setRegdate (String regdate) 
{ 
    this.regdate = regdate; 
} 

public String getName() 
{ 
    return name; 
} 

public void setName (String name) 
{ 
    this.name = name; 
} 

public String getPswhash() 
{ 
    return pswhash; 
} 

public void setPswhash (String pswhash) 
{ 
    this.pswhash = pswhash; 
} 

@Override 
public String toString() 
{ 
    return "ClassPojo [id = "+id+", phone = "+phone+", status = "+status+", email = "+email+", regdate = "+regdate+", name = "+name+", pswhash = "+pswhash+"]"; 
} 
} 

Преобразуйте свою результирующую строку в объект класса результата, подобный этому.

Result result = gson.fromJson(resultJsonString, Result.class); 
System.out.println(result.getId());