博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
笔记_JSON
阅读量:4660 次
发布时间:2019-06-09

本文共 4358 字,大约阅读时间需要 14 分钟。

解析 JSON 步骤
如果没有自带 , 就添加 第三方包 (JavaScript编程语言本身自带解析JSON的能力)
一般是要手写 :
实体类
JSON -> 实体类  
中间
映射
Gson的话 , 映射可以不写
VS2015 上, 两个都可以不写 , IDE生成实体类 , 调用
包的方法让它
自己
映射
有第三方的
JSON字符串到实体类
{
  "Name": "Apple",
  "Expiry": "2008-12-28T00:00:00",
  "Sizes": [
    "Small"
  ]
}
VS的选择性粘贴
JSON.net 包
VS2015
Android 
添加第三方解析JSON的包 :
GSON就很好用 , 
JSONArray 
怎么使用注释,在JSON文件里.需要有"]"为结尾,不需要"//",因为它无法解析乱七八糟的东西
JSON文件的本质是字符串
练习嵌套的写法
结合以前的MyEclips的快捷键和常用的设置
先备份eclipse_Mars的 各种设置,再导入MyEclips的配置文件到eclipse_Mars里
需要的基本配置:
编码  GBK
需要的快捷键:
标签的切换,比如 c+tab 编辑页面
删除当前行
鼠标光标(焦点)的来回跳转,跳转到上一个位置,最好能再上一个位置
P86 TabHost
的替代方an,应该是一种新的布局吧
使用 使用使用 mark 写作标记语言吧
不去背诵语法
[
{
"ID":"1",
"name":"A"
},
{
"ID":"2",
"name":"B"
},
{
"ID":"3",
"name":"C"
}
]
package json_;
import file.FileHelper;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class Test {
public static void main(String[] args) {
//JSONArray j = new JSON
// TODO Auto-generated method stub
//String contextOfJSON = new Util().ReadFile("F:\\test\\apkinfo.json");
//String contextOfJSON = json_helper.ReadFile("F:\\test\\apkinfo.json");
FileHelper fileHelper=new FileHelper();
//String contextOfJSON = fileHelper.getFileContent("F:\\test\\path.json");
String contextOfJSON = fileHelper.getFileContent("G:\\0_temp\\profile.JSON");
JSONArray jsonArray = JSONArray.fromObject(contextOfJSON);
//TUDO 输出JSONArray看一下内容
System.out.println( jsonArray );
System.out.println( jsonArray.getJSONArray(3).getJSONObject(0) );
//
JSONObject temp=jsonArray.getJSONObject(0);
//
//
String strHas="ID";
//
strHas="name";
//
//strHas="d";
//
if( temp.has( strHas ) ){
//
System.out.println( "有         这个key和value对" );
//
}else {
//
System.out.println( "没有" );
//
//
}
System.err.println( "------------------" );
//
Object o_1_3=jsonArray.get(3);
//
System.out.println( "第1层的3号元素:"+o_1_3 );
//
//
JSONObject jo_1_3=(JSONObject)o_1_3;
//
jo_1_3.has(key)
//
//jo_1_3.getJSONObject(key)
//
//
2_0 
//
ja.get(0);
//
System.out.println( "第2层的0号元素:"+jo );
//返回数组的第0号,以Object对象的形式
//得到 第0号Object的toString():String,它在数组的第1位
//jsonArray.getString(0)
//返回数组的第0号,以JSONObject对象的形式
//
jsonArray.getJSONObject(0);
//TUDO 遍历每个JSONObjec,输出所有的JO里的信息
//
int size = jsonArray.size();
//
System.out.println("Size: " + size);
//
for (JSONObject jsonObject : jsonArray) {
//
//
}
//不能用JSONObject 来接收遍历到的各个元素
//
int i=0;
//
System.out.println(i+"");
//
i++;
//
for (Object object : jsonArray) {
//
JSONObject jo=(JSONObject)object;
//
//String temp=jo.getString("path");
//
//Object temp=jo.get("path");
//
if( jo.containsKey("path") ){
//
System.out.println(jo.getString("path") );
//
}
//
if( temp.temp==true )
{System.out.println( "进入判断" );}
//"D:\\\\test".equals(temp)
System.out.println( temp );
//
}
//
for (Object object : jsonArray) {
//
System.err.println( ((JSONObject)object).getString("path") );
//
}
//
for (Object object : jsonArray) {
//
JSONObject jo=(JSONObject)object;
//
System.out.println( jo.getString("path") );
//
}
//
for (int i = 0; i < size; i++) {
//
//
JSONObject jsonObject = jsonArray.getJSONObject(i);
//
//
System.out.println( jsonObject.get("name"));
//
//
System.out.println("[" + i + "]name=" + jsonObject.get("name"));
//
System.out.println("[" + i + "]package_name=" + jsonObject.get("package_name"));
//
System.out.println("[" + i + "]check_version=" + jsonObject.get("check_version"));
//
}
}
}
//[
// {
//     "name": "帐号",
//     "package_name": "com.android.account",
//     "check_version": "1.2"
// },
// {
//     "name": "系统升级",
//     "package_name": "com.android.osupdate",
//     "check_version": "1.0"
// },
// 
//]
//java里面用[]做根,可能是看做数组,里面放的是字符串.JSON不能这样,用{}
//答案:
//Size: 2
//[0]name=帐号
//[0]package_name=com.android.account
//[0]check_version=1.2
//[1]name=系统升级
//[1]package_name=com.android.osupdate
//[1]check_version=1.0
// // TODO Auto-generated method stub
// String JsonContext = new Util().ReadFile("D:\\test\\apkinfo.json");
// JSONArray jsonArray = JSONArray.fromObject(JsonContext);
// int size = jsonArray.size();
// System.out.println("Size: " + size);
// for (int i = 0; i < size; i++) {
// JSONObject jsonObject = jsonArray.getJSONObject(i);
// System.out.println("[" + i + "]name=" + jsonObject.get("name"));
// System.out.println("[" + i + "]package_name=" +
// jsonObject.get("package_name"));
// System.out.println("[" + i + "]check_version=" +
// jsonObject.get("check_version"));
// }
// }

转载于:https://www.cnblogs.com/xiaoCong2016/p/6623287.html

你可能感兴趣的文章