android studio读取本地json,Android Studio读取和创建Json
1,984
JSON的基本语法
1.JSon的四个基本规则
(1)并列的数据之间用逗号(,)分隔
(2)映射用冒号(:)表示
(3)并列数据的集合(数组)用方括号([])表示
(4)映射的集合(对象)用大括号({})表示
2.缺点
(1)要求是unicode,否则会出现乱码
(2)语法过于严禁,必须遵循json语法四个原则
3.数据类型
(1)数据结构:object、array
(2)基本类型:string、number、true、false、null
(3)key必须是String类型的,value是任何基本类型或数据结构
实例代码:
{
"name":"王小二",
"age":25.2,
"birthday":"1990-01-01",
"school":"蓝翔",
"major":["理发","挖掘机"],
"has_girlfriend":false,
"car":null,
"house":null,
"time":{
"value":30,
"unit":"分钟"
}
}
Android Studio创建json文件:
(1)在assets目录下新建text.json文件,内容如下:
{
"languages":[
{"id":1,"ide":"Eclipse","name":"Java"},
{"id":2,"ide":"XCode","name":"Swift"},
{"id":3,"ide":"Visual Studio","name":"C#"},
],
"cat":"it"
}
(2)读取json和创建json
package json.android.com.jsontest;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import org.json.JSONArray;
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.io.UnsupportedEncodingException;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Json数据的读写
try {
// InputStream is = this.getAssets().open("test.json");//eclipse
InputStream is = MainActivity.this.getClass().getClassLoader().getResourceAsStream("assets/" + "text.json");//android studio
BufferedReader bufr = new BufferedReader(new InputStreamReader(is));
String line;
StringBuilder builder = new StringBuilder();
while ((line = bufr.readLine()) != null) {
builder.append(line);
}
is.close();
bufr.close();
try {
JSONObject root = new JSONObject(builder.toString());
Log.d("info","cat=" + root.getString("cat"));
JSONArray array = root.getJSONArray("languages");
for (int i = 0; i < array.length(); i++) {
JSONObject lan = array.getJSONObject(i);
Log.d("info","-----------------------");
Log.d("info","id=" + lan.getInt("id"));
Log.d("info","ide=" + lan.getString("ide"));
Log.d("info","name=" + lan.getString("name"));
}
} catch (JSONException e) {
e.printStackTrace();
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
//Json数据的创建
try {
JSONObject root = new JSONObject();
root.put("cat", "it");
JSONObject lan1 = new JSONObject();
lan1.put("id", 1);
lan1.put("ide", "Eclipse");
lan1.put("name", "Java");
JSONObject lan2 = new JSONObject();
lan2.put("id", 2);
lan2.put("ide", "XCode");
lan2.put("name", "Swift");
JSONObject lan3 = new JSONObject();
lan3.put("id", 3);
lan3.put("ide", "Visual Studio");
lan3.put("name", "C#");
JSONArray array = new JSONArray();
array.put(lan1);
array.put(lan2);
array.put(lan3);
root.put("languages", array);
Log.d("info",root.toString());
} catch (JSONException e) {
e.printStackTrace();
}
}
}
5+
android studio读取本地json,Android Studio读取和创建Json相关推荐
- android加载本地图库,Android读取本地图库与调用摄像头拍摄
本文主要介绍如何读取Android本地图库的图片以及调用安卓的摄像头进行拍摄. 一.布局 布局比较简单,MainActviivty的布局文件只有两个按钮,一个是读取图库的,另一个是打开摄像头的,另外R ...
- Android 读取本地图片文件和读取图片的uri
想读取本地项目里的资源图片,但又不能用到R文件. 总结以下几种读取Bitmap的方法: 1.以文件流的方式,假设sdcard里面有a.png图片 FileInputStream fs = new Fi ...
- html 读取本地xml文件,JS读取本地的XML文件
要想让JS读取本地的XML代码,得具备这样的条件,一般情况下,需要一个JS文件,一个XML文件,最后这两个文件就放在相同的路径下,这样方便调用. 一.XML文件代码示例 大众计算机学习网 www.dz ...
- php读取本地xlsx格式文件的数据并按json格式返回
微信小程序开发交流qq群 173683895 承接微信小程序开发.扫码加微信. 目的:php读取并操作本地xlsx格式的文件: 完整示例代码: 代码讲解:前端发起post网络请求,php接收 ...
- android bitmap保存本地图片,Android保存View转Bitmap并到本地图库实时更新
参考张大神的http://stormzhang.github.io/android/2014/07/24/android-save-image-to-gallery/ 最开始我想的是截屏保存更方便,但 ...
- Android实现打开本地文件,Android 打开本地文件(示例代码)
Android 打开本地的文件,目前来说,其实很常见.而且现在有手机版的office了.查看office的全家桶就更加方便. 首先要知道的是,Android 打开本地文件是根据类型打开的,也就是根据文 ...
- python读取本地foxmail_用Python读取Foxmail导出的邮件
祝读者大人圣诞快乐^_^ 工作交接,需要把一些处理过的邮件记录到数据库里面,需要记录的内容包括:附件Excel文件中的每一条记录 提报人 生效时间 其中附件和提报人希望能从Foxmail导出的邮件中读 ...
- jq ajax 读取本地文件,jquery读取本地文件
$(document).ready(function(){ $("#b01").click(function(){ htmlobj=$.ajax({url:"/jquer ...
- [Unity]读取本地图片ArgumentException: A null reference or invalid value was found错误
虽然 (Texture2D)Resources.Load(pngFilePath); 可以读取图片, 但是当项目工程文件中存储大量图片,几百万个图片的时候,就会出现项目编译卡顿,等待时间过长的问题. ...
- 17. GeoTrellis数据读取篇之读取本地文件系统COG格式数据
一.简介 工程介绍 保存cog时,读取类型multibandTile时,报错java堆溢出,改用tile测试通过,貌似需要调大 java堆溢出size 读取cog图层,图层读取成功,读取瓦片时url解 ...
最新文章
- java的mythread_java多线程 - myShadow - OSCHINA - 中文开源技术交流社区
- Cisco mode键的作用详解
- 嵌套循环连接,哈希连接,排序合并连接(2015-2-4学习日记)
- Contains Duplicate --包含相同值
- 码农回家过个年,真心不容易!
- 按照月的第几周统计_Excel财务案例分享(3)——使用函数制作销售月报和周报...
- 如何让不使用vba没办法打开excel表_Excel常见问题
- Java中输出流重定向小例子
- 精彩回顾|DBDI 数据智能技术研讨沙龙(杭州站)顺利举办
- jquery第三期:js与jquery对象转换
- 美图秀秀java代码,【Java】SpringMvc整合美图秀秀M4(头像编辑器)
- ug80浩强工具_浩强工具下载|浩强UG工具下载 v2.59 最新版 - 比克尔下载
- 自上而下与自下而上的项目计划: 哪个更适合 PMO?
- JavaScript Navigator
- linux命令操作改变图片大小,使用linux命令调整图片大小、格式等
- 自签名证书报错:javax.net.ssl.SSLPeerUnverifiedException: Hostname xxx not verified
- [CF1603D]Artistic Partition
- 关于Lock锁用法的详细讲解(案例驱动,手把手教学)
- 【题解】慈溪中学-8.12-T2
- excel批量添加超链接
热门文章
- 谷粒学院(十七)讲师列表页 | 讲师详情 | 课程列表页 | 课程详情 | 整合阿里云视频点播
- 【图像语义分割】DeepLabv3+(Pytorch版) 源码复现—Kitti数据集
- CCF CSP 编程题目和解答-----试题名称:炉石传说 -------201609-3
- 新型AI助理BAYOU或将成为无代码编程的救星
- 进程4G虚拟内存空间的分配
- vivo x21 无法在AS上安装应用
- skip-gram模型理解
- 帝国CMS之列表页调用父栏目下所有子栏目名称(带链接)
- pyinstaller 打包小坑2
- hibernate入门项目(一)