java 读取解析json以及接sdk注意事项
来源:互联网 发布:淘宝半价优惠券 编辑:程序博客网 时间:2024/06/05 06:06
参考
接sdk注意事项以及本地文件读取
import net.sf.json.JSONArray;import net.sf.json.JSONObject;public class HelloWorld {public static void main(String[] args) {String context = new Util().ReadFile("res/countries.json");JSONArray jsonArray = JSONArray.fromObject(context);JSONObject object = JSONObject.fromObject(jsonArray.get(0));JSONObject detail = null;try {detail = object.getJSONObject("BRA");} catch (Exception e) {System.out.println("not found!!!");return;} finally{if(detail != null){JSONArray price = detail.getJSONArray("price");String currencyCode = detail.getString("currencyCode");System.out.println(currencyCode);System.out.println(price);}}}}
输出:BRA_c[1,2,3]
json内容:
[{"BRA":{"price":[1,2,3],"currency":"BRA_c"},"BRB":{"price":[4,5,6],"currency":"BRB_c"},"BRC":{"price":[7,8,9],"currency":"BRC_c"},}]
util
import java.io.BufferedReader;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStreamReader;public class Util {public String ReadFile(String Path){BufferedReader reader = null;String laststr = "";try{FileInputStream fileInputStream = new FileInputStream(Path);InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, "UTF-8");reader = new BufferedReader(inputStreamReader);String tempString = null;while((tempString = reader.readLine()) != null){laststr += tempString;}reader.close();}catch(IOException e){e.printStackTrace();}finally{if(reader != null){try {reader.close();} catch (IOException e) {e.printStackTrace();}}}return laststr;}}
相关类库[上传资源]以及json文件
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
更新: 上面那套是别人包装过的? 但是在android中使用会和原生的冲突。。所以只能用原生的或别人推荐的GSon。
1.不是直接把jar复制到libs下或者直接添加jar到库中就可以。 一般要把提供给你的库 包【导入进来,作为库的工程被其他工程所引用】,但是有的时候能正确引用,有的时候不行,换个目录试试看2.在res目录下新建文件夹 raw,然后把文件复制到该目录下,就可用通过R.raw.countries 来访问。 貌似是保持原始的数据而不是转为二进制之类的3.读取文件。用法1:public String ReadFile(String path){BufferedReader reader = null;String laststr = "";try{FileInputStream fileInputStream = new FileInputStream(path);InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, "UTF-8");reader = new BufferedReader(inputStreamReader);String tempString = null;while((tempString = reader.readLine()) != null){laststr += tempString;}reader.close();}catch(IOException e){e.printStackTrace();}finally{if(reader != null){try {reader.close();} catch (IOException e) {e.printStackTrace();}}}return laststr;}用法2:public String ReadFile2(InputStream fileInputStream){BufferedReader reader = null;String laststr = "";try{InputStreamReader inputStreamReader = new InputStreamReader(fileInputStream, "UTF-8");reader = new BufferedReader(inputStreamReader);String tempString = null;while((tempString = reader.readLine()) != null){laststr += tempString;}reader.close();}catch(IOException e){e.printStackTrace();}finally{if(reader != null){try {reader.close();} catch (IOException e) {e.printStackTrace();}}}return laststr;}按正常应该是用法1就是可以了,但是实际中就是读不出数据,后改成第二种用法:private void initJsonData(){InputStream inputStream = getResources().openRawResource(R.raw.countries);String context = new Util().ReadFile2(inputStream);JSONArray arr = null;try {arr = new JSONArray(context);jsonData = arr.getJSONObject(0);} catch (Exception e) {}}如果json数据有,但是读出来有问题或者异常,可以改json为简单的试试看,有时候是汉字的空格之类的 [{"name":"joe"}]
0 0
- java 读取解析json以及接sdk注意事项
- java 解析json 注意事项
- D3.js以及通用JS(JavaScript)读取并解析服务器端JSON的注意事项
- java解析和读取JSON
- Java解析(读取)Json数据{}、[{}]
- Java解析(读取)Json数据
- Java解析(读取)Json数据
- 数据处理json格式以及java编写注意事项
- flex 与java 读取java, 解析json
- json解析注意事项
- Jquery读取json文件和xml文件以及解析
- js读取解析复杂json,及java拼写复杂json
- Asynctask解析以及注意事项
- Asynctask解析以及注意事项
- Asynctask解析以及注意事项
- Asynctask解析以及注意事项
- Asynctask解析以及注意事项
- 安装Java SDK注意事项
- 第十七周项目六——学生成绩统计(1~3)
- 我若离去,后会无期
- 逆序的三位数
- Genymotion--Unable to create Genymotion virtual devices:Connection timeout
- phpstorm+Xdebug断点调试PHP
- java 读取解析json以及接sdk注意事项
- 2014手机号码归属地数据库
- Java compiler level does not match the version of the installed Java project facet.
- 从 Flash 到 Cocos2d-x
- 写给想成为程序员
- C语言实现栈
- ios下获得各个路径的方法
- Nginx + Django
- 关于java反射的一些小栗子