AAV*_*AAV 36 java android json inputstream
我正在使用以下代码将InputStream转换为JSONObject.我的问题是,是否有任何简单的方法将InputStream转换为JSONObject.不做InputStream - > BufferedReader - > StringBuilder - > loop - > JSONObject.toString().
InputStream inputStreamObject = PositionKeeperRequestTest.class.getResourceAsStream(jsonFileName);
BufferedReader streamReader = new BufferedReader(new InputStreamReader(inputStreamObject, "UTF-8"));
StringBuilder responseStrBuilder = new StringBuilder();
String inputStr;
while ((inputStr = streamReader.readLine()) != null)
responseStrBuilder.append(inputStr);
JSONObject jsonObject = new JSONObject(responseStrBuilder.toString());
Run Code Online (Sandbox Code Playgroud)
Sas*_*uri 24
由于您已经在使用Google的Json-Simple库,因此您可以通过以下方式解析json InputStream:
InputStream inputStream = ... //Read from a file, or a HttpRequest, or whatever.
JSONParser jsonParser = new JSONParser();
JSONObject jsonObject = (JSONObject)jsonParser.parse(
new InputStreamReader(inputStream, "UTF-8"));
Run Code Online (Sandbox Code Playgroud)
ift*_*hem 10
使用JsonReader来解析InputStream.请参阅API中的示例:http: //developer.android.com/reference/android/util/JsonReader.html
如果你不想搞乱现成的库,你可以创建一个这样的类.
public class JsonConverter {
//Your class here, or you can define it in the constructor
Class requestclass = PositionKeeperRequestTest.class;
//Filename
String jsonFileName;
//constructor
public myJson(String jsonFileName){
this.jsonFileName = jsonFileName;
}
//Returns a json object from an input stream
private JSONObject getJsonObject(){
//Create input stream
InputStream inputStreamObject = getRequestclass().getResourceAsStream(jsonFileName);
try {
BufferedReader streamReader = new BufferedReader(new InputStreamReader(inputStreamObject, "UTF-8"));
StringBuilder responseStrBuilder = new StringBuilder();
String inputStr;
while ((inputStr = streamReader.readLine()) != null)
responseStrBuilder.append(inputStr);
JSONObject jsonObject = new JSONObject(responseStrBuilder.toString());
//returns the json object
return jsonObject;
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
}
//if something went wrong, return null
return null;
}
private Class getRequestclass(){
return requestclass;
}
}
Run Code Online (Sandbox Code Playgroud)
然后,您可以像这样使用它:
JSONObject jObject = new JsonConverter(FILE_NAME).getJsonObject();
Run Code Online (Sandbox Code Playgroud)
小智 5
这段代码有效
BufferedReader bR = new BufferedReader( new InputStreamReader(inputStream));
String line = "";
StringBuilder responseStrBuilder = new StringBuilder();
while((line = bR.readLine()) != null){
responseStrBuilder.append(line);
}
inputStream.close();
JSONObject result= new JSONObject(responseStrBuilder.toString());
Run Code Online (Sandbox Code Playgroud)
你可以使用一个实体:
FileEntity entity = new FileEntity(jsonFile, "application/json");
String jsonString = EntityUtils.toString(entity)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
112661 次 |
| 最近记录: |