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相关推荐

  1. android加载本地图库,Android读取本地图库与调用摄像头拍摄

    本文主要介绍如何读取Android本地图库的图片以及调用安卓的摄像头进行拍摄. 一.布局 布局比较简单,MainActviivty的布局文件只有两个按钮,一个是读取图库的,另一个是打开摄像头的,另外R ...

  2. Android 读取本地图片文件和读取图片的uri

    想读取本地项目里的资源图片,但又不能用到R文件. 总结以下几种读取Bitmap的方法: 1.以文件流的方式,假设sdcard里面有a.png图片 FileInputStream fs = new Fi ...

  3. html 读取本地xml文件,JS读取本地的XML文件

    要想让JS读取本地的XML代码,得具备这样的条件,一般情况下,需要一个JS文件,一个XML文件,最后这两个文件就放在相同的路径下,这样方便调用. 一.XML文件代码示例 大众计算机学习网 www.dz ...

  4. php读取本地xlsx格式文件的数据并按json格式返回

    微信小程序开发交流qq群   173683895    承接微信小程序开发.扫码加微信. 目的:php读取并操作本地xlsx格式的文件: 完整示例代码: 代码讲解:前端发起post网络请求,php接收 ...

  5. android bitmap保存本地图片,Android保存View转Bitmap并到本地图库实时更新

    参考张大神的http://stormzhang.github.io/android/2014/07/24/android-save-image-to-gallery/ 最开始我想的是截屏保存更方便,但 ...

  6. Android实现打开本地文件,Android 打开本地文件(示例代码)

    Android 打开本地的文件,目前来说,其实很常见.而且现在有手机版的office了.查看office的全家桶就更加方便. 首先要知道的是,Android 打开本地文件是根据类型打开的,也就是根据文 ...

  7. python读取本地foxmail_用Python读取Foxmail导出的邮件

    祝读者大人圣诞快乐^_^ 工作交接,需要把一些处理过的邮件记录到数据库里面,需要记录的内容包括:附件Excel文件中的每一条记录 提报人 生效时间 其中附件和提报人希望能从Foxmail导出的邮件中读 ...

  8. jq ajax 读取本地文件,jquery读取本地文件

    $(document).ready(function(){ $("#b01").click(function(){ htmlobj=$.ajax({url:"/jquer ...

  9. [Unity]读取本地图片ArgumentException: A null reference or invalid value was found错误

    虽然 (Texture2D)Resources.Load(pngFilePath); 可以读取图片, 但是当项目工程文件中存储大量图片,几百万个图片的时候,就会出现项目编译卡顿,等待时间过长的问题. ...

  10. 17. GeoTrellis数据读取篇之读取本地文件系统COG格式数据

    一.简介 工程介绍 保存cog时,读取类型multibandTile时,报错java堆溢出,改用tile测试通过,貌似需要调大 java堆溢出size 读取cog图层,图层读取成功,读取瓦片时url解 ...

最新文章

  1. java的mythread_java多线程 - myShadow - OSCHINA - 中文开源技术交流社区
  2. Cisco mode键的作用详解
  3. 嵌套循环连接,哈希连接,排序合并连接(2015-2-4学习日记)
  4. Contains Duplicate --包含相同值
  5. 码农回家过个年,真心不容易!
  6. 按照月的第几周统计_Excel财务案例分享(3)——使用函数制作销售月报和周报...
  7. 如何让不使用vba没办法打开excel表_Excel常见问题
  8. Java中输出流重定向小例子
  9. 精彩回顾|DBDI 数据智能技术研讨沙龙(杭州站)顺利举办
  10. jquery第三期:js与jquery对象转换
  11. 美图秀秀java代码,【Java】SpringMvc整合美图秀秀M4(头像编辑器)
  12. ug80浩强工具_浩强工具下载|浩强UG工具下载 v2.59 最新版 - 比克尔下载
  13. 自上而下与自下而上的项目计划: 哪个更适合 PMO?
  14. JavaScript Navigator
  15. linux命令操作改变图片大小,使用linux命令调整图片大小、格式等
  16. 自签名证书报错:javax.net.ssl.SSLPeerUnverifiedException: Hostname xxx not verified
  17. [CF1603D]Artistic Partition
  18. 关于Lock锁用法的详细讲解(案例驱动,手把手教学)
  19. 【题解】慈溪中学-8.12-T2
  20. excel批量添加超链接

热门文章

  1. 谷粒学院(十七)讲师列表页 | 讲师详情 | 课程列表页 | 课程详情 | 整合阿里云视频点播
  2. 【图像语义分割】DeepLabv3+(Pytorch版) 源码复现—Kitti数据集
  3. CCF CSP 编程题目和解答-----试题名称:炉石传说 -------201609-3
  4. 新型AI助理BAYOU或将成为无代码编程的救星
  5. 进程4G虚拟内存空间的分配
  6. vivo x21 无法在AS上安装应用
  7. skip-gram模型理解
  8. 帝国CMS之列表页调用父栏目下所有子栏目名称(带链接)
  9. pyinstaller 打包小坑2
  10. hibernate入门项目(一)