//saveJsonFile("E:\\yindd\\slaughterjson");
//json文件存放路径(如:E:\ajson)
String data= ReadFilereadFile("F:\\ajson");
Systemoutprintln(data);
JSONObject jsonObj = JSONObjectfromObject(data);
//得到A对象
JSONArray arrayA=jsonObjgetJSONArray("A");
A a = (A) JSONObjecttoBean((JSONArrayfromObject(arrayAtoString())getJSONObject(0)),Aclass);
//得到B集合
JSONArray arrayB=jsonObjgetJSONArray("B");
List<B> listB=new ArrayList<B>();
for(int i=0;i<arrayBsize();i++){
B b=(B)JSONObjecttoBean((JSONArrayfromObject(arrayBtoString())getJSONObject(i)),Bclass);
listBadd(b);
}
//得到C集合
JSONArray arrayC=jsonObjgetJSONArray("C");
List<C> listC=new ArrayList<C>();
for(int i=0;i<arrayBsize();i++){
C c=(C)JSONObjecttoBean((JSONArrayfromObject(arrayCtoString())getJSONObject(i)),Cclass);
listBadd(c);
}
在JS中,一般是使用eval()函数将JSON的字符串解析成JSON数据格式。
测试代码如下:
var obj = eval("("+data+")”);//转为json对象alert("return_code:"+obj["return_code"]);//d出json对象return_code属性
这边需要注意的是,eval("("+data+")”)要这么写,里面还带了一对括号。原因在于:eval本身的问题。 由于json是以”{}”的方式来开始以及结束的,在JS中,它会被当成一个语句块来处理,所以必须强制性的将它转换成一种表达式。
可以有多种方式实现,使用java比较简单的就是使用json类库,直接通过类库将json转换为一个java bean对象,然后对javabean对象排序,再通过类库直接转换成json字符串输出即可。个人比较常用的是GSON类库,或是也可用fastJSON等,百度搜索下很多,那个简单用哪个了。
使用json想必应该是要用javascript,其实也可以直接用javascript进行排序 *** 作。
先右键项目,然后点击properties,然后选中java Builder Path,选择add external jars,引入需要引入jsonjar
输出:
2
一. JSON的数据格式 a) 按照最简单的形式,可以用下面这样的 JSON 表示名称/值对: { "firstName": "Brett" } b) 可以创建包含多个名称/值对的记录,比如: { "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance中国" } c) 可以创建值的数组 { "people": [ { "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance中国" }, { "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets中国" } ]} d) 当然,可以使用相同的语法表示多个值(每个值包含多个记录): { "programmers": [ { "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance中国" }, { "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets中国" } ], "authors": [ { "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" }, { "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" } ], "musicians": [ { "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" } ] } 注意,在不同的主条目(programmers、authors 和 musicians)之间,记录中实际的名称/值对可以不一样。JSON 是完全动态的,允许在 JSON 结构的中间改变表示数据的方式。 二. 在 JavaScript 中使用 JSON JSON 是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。 二一 将 JSON 数据赋值给变量 例如,可以创建一个新的 JavaScript 变量,然后将 JSON 格式的数据字符串直接赋值给它: var people = { "programmers": [ { "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance中国" }, { "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets中国" } ], "authors": [ { "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" }, { "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" } ], "musicians": [ { "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" } ] } 二二 访问数据 将这个数组放进 JavaScript 变量之后,就可以很轻松地访问它。实际上,只需用点号表示法来表示数组元素。所以,要想访问 programmers 列表的第一个条目的姓氏,只需在JavaScript 中使用下面这样的代码: peopleprogrammers[0]lastName; 注意,数组索引是从零开始的。 二三 修改 JSON 数据 正如访问数据,可以按照同样的方式修改数据: peoplemusicians[一]lastName = "Rachmaninov"; 二四 转换回字符串 a) 在 JavaScript 中这种转换也很简单: String newJSONtext = peopletoJSONString(); b) 可以将任何 JavaScript 对象转换为 JSON 文本。并非只能处理原来用 JSON 字符串赋值的变量。为了对名为 myObject 的对象进行转换,只需执行相同形式的命令: String myObjectInJSON = myObjecttoJSONString(); 说明:将转换回的字符串作为Ajax调用的字符串,完成异步传输。 小结:如果要处理大量 JavaScript 对象,那么 JSON 几乎肯定是一个好选择,这样就可以轻松地将数据转换为可以在请求中发送给服务器端程序的格式。 三. 服务器端的 JSON 三一 将 JSON 发给服务器 a) 通过 GET 以名称/值对发送 JSON 在 JSON 数据中会有空格和各种字符,Web 浏览器往往要尝试对其继续编译。要确保这些字符不会在服务器上(或者在将数据发送给服务器的过程中)引起混乱,需要在JavaScript的escape()函数中做如下添加: var url = "organizePeoplephppeople=" + escape(peopletoJSONString()); requestopen("GET", url, true); requestonreadystatechange = updatePage; requestsend(null); b) 利用 POST 请求发送 JSON 数据 当决定使用 POST 请求将 JSON 数据发送给服务器时,并不需要对代码进行大量更改,如下所示: var url = "organizePeoplephptimeStamp=" + new Date()getTime(); requestopen("POST", url, true); requestonreadystatechange = updatePage; requestsetRequestHeader("Content-Type", "application/x-至美-form-urlencoded"); requestsend(peopletoJSONString()); 注意:赋值时格式必须是var msg=eval('(' + reqresponseText + ')'); 三二 在服务器上解释 JSON a) 处理 JSON 的两步骤。 针对编写服务器端程序所用的语言,找到相应的 JSON 解析器/工具箱/帮助器 API。 使用 JSON 解析器/工具箱/帮助器 API 取得来自客户机的请求数据并将数据转变成脚本能理解的东西。 b) 寻找 JSON 解析器 寻找 JSON 解析器或工具箱最好的资源是 JSON 站点。如果使用的是 Java servlet,jsonorg 上的 orgjson 包就是个不错的选择。在这种情况下,可以从 JSON Web 站点下载 jsonzip 并将其中包含的源文件添加到项目构建目录。编译完这些文件后,一切就就绪了。对于所支持的其他语言,同样可以使用相同的步骤;使用何种语言取决于您对该语言的中国程度,最好使用您所熟悉的语言。 c) 使用 JSON 解析器 一旦获得了程序可用的资源,剩下的事就是找到合适的方法进行调用。如果在 servlet 中使用的是 orgjson 包,则会使用如下代码: public void doPost(>
以上就是关于java中如何读取json文件,在本地有E:/a.json文件,想读取这个json文件里面的内容,怎样实现全部的内容,包括:java中如何读取json文件,在本地有E:/a.json文件,想读取这个json文件里面的内容,怎样实现、小白求教,java中怎么获取ajax发送的json数据、怎样在java代码里获取一个json对象,然后对其进行排序,排好了之后,再返回给json等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)