×

json解析

json解析(怎么用程序解析一个json文件)

admin admin 发表于2023-07-26 13:17:32 浏览60 评论0

抢沙发发表评论

本文目录

怎么用程序解析一个json文件

一、要解决这个问题首先要知道json格式是什么?JSON格式:比如学生有学号,姓名,性别等。用json表示则为:{“studno“:“11111“,“studname“:“wwww“,“studsex“:“男“}(各个字段都是字符型)这代表一个学生的信息。如果多个呢?这就是json格式。二、那如何操作json格式的文件呢?这个更简单了,说白了就是直接读写文件,再把读出来的文件内容格式化成json就可以了。三、具体操作。1.我有一个实体类,如下:public class ElectSet {public String xueqi;public String xuenian;public String startTime;public String endTime;public int menshu;public String isReadDB;//{“xueqi“:,“xuenian“:,“startTime“:,“endTime“:,“renshu“:,“isReadDB“:}public String getXueqi() { return xueqi;}public void setXueqi(String xueqi) { this.xueqi = xueqi;}public String getXuenian() { return xuenian;}public void setXuenian(String xuenian) { this.xuenian = xuenian;}public String getStartTime() { return startTime;}public void setStartTime(String startTime) { this.startTime = startTime;}public String getEndTime() { return endTime;}public void setEndTime(String endTime) { this.endTime = endTime;}public int getMenshu() { return menshu;}public void setMenshu(int menshu) { this.menshu = menshu;}public String getIsReadDB() { return isReadDB;}public void setIsReadDB(String isReadDB) { this.isReadDB = isReadDB;}}2.有一个json格式的文件,存的就是他的信息,如下Sets.json:{“xuenian“:“2007-2008“,“xueqi“:“1“,“startTime“:“2009-07-19 08:30“,“endTime“:“2009-07-22 18:00“,“menshu“:“10“,“isReadDB“:“Y“}3.具体操作./** 取出文件内容,填充对象*/public ElectSet findElectSet(String path){ ElectSet electset=new ElectSet(); String sets=ReadFile(path);//获得json文件的内容 JSONObject jo=JSONObject.fromObject(sets);//格式化成json对象 //System.out.println(“------------“ jo); //String name = jo.getString(“xuenian“); //System.out.println(name); electset.setXueqi(jo.getString(“xueqi“)); electset.setXuenian(jo.getString(“xuenian“)); electset.setStartTime(jo.getString(“startTime“)); electset.setEndTime(jo.getString(“endTime“)); electset.setMenshu(jo.getInt(“menshu“)); electset.setIsReadDB(jo.getString(“isReadDB“)); return electset;}//设置属性,并保存public boolean setElect(String path,String sets){ try { writeFile(path,sets); return true; } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); return false; }}//读文件,返回字符串public String ReadFile(String path){ File file = new File(path); BufferedReader reader = null; String laststr = ““; try { //System.out.println(“以行为单位读取文件内容,一次读一整行:“); reader = new BufferedReader(new FileReader(file)); String tempString = null; int line = 1; //一次读入一行,直到读入null为文件结束 while ((tempString = reader.readLine()) != null) { //显示行号 System.out.println(“line “ line “: “ tempString); laststr = laststr tempString; line ; } reader.close(); } catch (IOException e) { e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch (IOException e1) { } } } return laststr;} //把json格式的字符串写到文件public void writeFile(String filePath, String sets) throws IOException { FileWriter fw = new FileWriter(filePath); PrintWriter out = new PrintWriter(fw); out.write(sets); out.println(); fw.close(); out.close(); }4.调用,使用(在网站的controller里调用的)//取出json对象public void GetElectSettings(HttpServletRequest request, HttpServletResponse response) throws Exception { ElectSet electset=new ElectSet(); String absPath = request.getRealPath(“\“); String filePath = absPath “public\sets\electSets.json“; electset=businessService.findElectSets(filePath);//这里是调用,大家自己改改,我调用的业务层 的。 JSONArray jsonItems = new JSONArray(); jsonItems.add(electset); JSONObject jo=new JSONObject(); jo.put(“data“, jsonItems); System.out.println(jo); request.setCharacterEncoding(“utf-8“); response.setContentType(“application/json;charset=utf-8“); PrintWriter out = response.getWriter(); out.print(jo);}//修改json文件public void ChangeElectSet(HttpServletRequest request, HttpServletResponse response) throws Exception { request.setCharacterEncoding(“UTF-8“); response.setContentType(“text/json;charset=utf-8“); log.info(“reach ChangeElectSet“); String json = (String) request.getParameter(“json“).trim(); log.info(“Change ElectSet“); log.info(json); ElectSet sets = new ElectSet(); JSONObject jsonObject = JSONObject.fromObject(json); sets = (ElectSet) JSONObject.toBean(jsonObject, ElectSet.class); if(sets.getIsReadDB()==“false“){ sets.setIsReadDB(“否“); } else{ sets.setIsReadDB(“是“); } String changes=“{“xuenian“:““;//因为json的属性要用引号,所以要用“转义一下 changes =sets.getXuenian() ““,“xueqi“:““ sets.getXueqi() ““,“startTime“:““ sets.getStartTime() ““,“endTime“:““ sets.getEndTime() ““,“menshu“:““ sets.getMenshu() ““,“isReadDB“:““ sets.getIsReadDB() ““}“; System.out.println(changes); String absPath = request.getRealPath(“\“); String filePath = absPath “public\sets\electSets.json“;转载

前端怎么解析json

不建议使用eval()函数,因为eval()接受任意的字符串,并当作JavaScript代码来处理,这个机制已经有安全隐患了var str=’{ “name“: “John“ }’;var obj = eval (’(’ + str + ’)’);alert(obj.name); $.parseJSON()和JSON.parse()函数用于将格式完好的JSON字符串转为与之对应的JavaScript对象。所谓“格式完好“,就是要求指定的字符串必须符合严格的JSON格式,例如:属性名称必须加双引号、字符串值也必须用双引号。其次,JSON标准不允许字符串中出现“控制字符“,正确写法应该是使用两个反斜杠,以免被JS解析器直接转义。 1、JSON字符串转换为JSON对象var str=’{ “name“: “John“ ,“age“: “24“ }’;var obj = $.parseJSON(str);alert(obj.name); //John var str = ’{ “name“: “John“, “age“: “24“ }’;var obj = JSON.parse(str);alert(obj.name); //John 2、将JSON对象转换为字符串var obj={name: “John“, age: “24“};var last=JSON.stringify(obj);alert(last); //’{name: “John“, age: “24“}’ var obj={name: “John“, age: “24“};var last=obj.toJSONString();alert(last); //’{name: “John“, age: “24“}’ 3、解析读取json对象var str={ “result“:{ “age“:“33“, “id“:“2server“, “name“:“mady“ }};alert(str.result.age); //33 var result = $.parseJSON( ’’ );alert( result ); // CodePlayer var result = $.parseJSON( “\“专注于编程开发技术分享\““ );alert(result); //专注于编程开发技术分享

如何解析json

如果用原生的js那就是eval来解析:

//jsonString 为Json格式字条串var jsonObject =  eval(“(“ +jsonString + “)“);

如果是jquery的话可以用$.parseJSON方法。

不过$.parseJSON只能支持标准的json格式,eval比较通用。

如果是要遍历json对象的话,直接用for循环或者for in循环输出对象就可以了。

//for in循环 obj是json数据    for(x in obj.bkdata){        //x表示是下标,来指定变量,指定的变量可以是数组元素,也可以是对象的属性。        console.log(obj.bkdata);    }

希望能帮到你~~~

解析json是什么意思

JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。

简洁和清晰的层次结构使得 JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

扩展资料:

任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。但是对象和数组是比较特殊且常用的两种类型。

对象:对象在 JS 中是使用花括号包裹 {} 起来的内容,数据结构为 {key1:value1, key2:value2, ...} 的键值对结构。在面向对象的语言中,key 为对象的属性,value 为对应的值。键名可以使用整数和字符串来表示。值的类型可以是任意类型。

参考资料来源:

百度百科-JSON

json 怎么解析

一、 JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。Json建构于两种结构:1、“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。 如: {“name”:”jackson”,“age”:100}2、值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)如:{“students”:}二、java解析JSON步骤A、服务器端将数据转换成json字符串首先、服务器端项目要导入json的jar包和json所依赖的jar包至builtPath路径下(这些可以到JSON-lib官网下载:

Android怎么解析这个json

import java.util.Iterator;import java.util.Map.Entry;import java.util.Set;import com.google.gson.JsonArray;import com.google.gson.JsonElement;import com.google.gson.JsonObject;import com.google.gson.JsonParser;public class JU{ public static void main(String args) { String json =         “{\“showapi_res_code\“:0,\“showapi_res_error\“:\“\“,\“showapi_res_body\“:{\“ret_code\“:0,\“basic\“:{\“explains\“:}}}“; JsonParser parser = new JsonParser(); JsonObject obj = (JsonObject) parser.parse(json); System.out.println(obj); dir(obj); } private static void dir(Object obj) { if(obj instanceof JsonObject) { JsonObject object = (JsonObject) obj; Set《Entry《String, JsonElement》》 entry = object.entrySet(); Iterator《Entry《String, JsonElement》》 it = entry.iterator(); while(it.hasNext()) { Entry《String, JsonElement》 elem = it.next(); String key = elem.getKey(); JsonObject oob; try { oob = (JsonObject) elem.getValue(); System.out.println(key + “---》“ + oob); dir(oob); } catch(Exception e) { JsonElement element = elem.getValue(); System.out.println(key + “---》“ + element); dir(element); } } } else if(obj instanceof JsonArray) { JsonArray array = (JsonArray) obj; for(int i = 0; i 《 array.size(); i++) { JsonElement element = array.get(i); System.out.print(element + “ “); dir(element); } } }}

安卓中返回的json数据怎么解析

WebService返回的Json字符串或者是XML文件,看你要怎么样用,Android中有解析Json的对象如JSONObject,JsonArray等,着键你的WEBService要配置好。

安卓怎样解析json数据

{“result“:“true“,“asks“:...}这个json不是标准的json格式,asks本身是一个数组,里面嵌套多个二维数组,就需要分层处理。1.先把整体转换成json object。2、从1中取出asks这个数组,jsonArray3、循环处理里面的子数组。

android 手机怎样解析json数据

可以用一些开源的Java库,就可以把这些json数据直接变为Java对象及数组了,然后用Java处理起来很方便。常用的处理json的库有gson和json-lib,你百度一下可以下到,网上也有例子

JSONP的工作原理是什么

对于开发人员来说,离不开API的开发和调用,我们在日常开发中,如果调用了第三方的API,而且此第三方API是以json数据格式返回时,默认是无法直接调用的(比如AJAX方式调用),因为会涉及到跨域问题。如何解决JSON跨域调用呢?那就得用到JSONP!

JSON和JSONP的区别

最简单的理解:JSON是一种数据格式,而JSONP是一种数据调用的方式。还有一种不严谨的理解:带callback的JSON是JSONP。

由于浏览器的同源策略,a.com上网页是无法和b.com服务器直接沟通的,JSONP就是用来解决浏览器跨域数据访问的。

JSONP的原理分析

上面说到了,所有主流浏览器出于安全因素考虑都有同源策略,而HTML中的《script》标签则不受此限制(《script》标签没有跨域限制)!所以我们可以利用这个特性来和第三方进行数据通讯。

JSONP整个工作流程大概如下:

1、调用方页面上使用script标签引用第三方API地址;

2、第三方响应的数据是JSON数据的包装,格式如下:

callback({"name":"susan","age":"22"})

3、这样一来,浏览器请求了此API后获取到的实际上是一段JS代码,然后调用callback函数,函数的实参是JSON对象,我们可以在callback函数中进行数据处理。

以上就是我的观点,对于这个问题大家是怎么看待的呢?欢迎在下方评论区交流 ~ 我是科技领域创作者,十年互联网从业经验,欢迎关注我了解更多科技知识!