json格式代码,json代码大全

http://www.itjxue.com  2023-01-07 09:10  来源:未知  点击次数: 

network里代码转json格式

//作用:将任意类型对象内容转化为JSON格式

//参数:一个高级引用类型对象 Student对象,。。。

public static String jsonObject(Object obj){

Class classFile = null;

Field fieldArray[] = null;

StringBuffer str = new StringBuffer("{");

//1.获取当前对象隶属的class文件

classFile = obj.getClass();

//2.获得class文件的所有属性

fieldArray = classFile.getDeclaredFields();

//3.获得当前对象所有属性的值

try {

for(int i =0;i fieldArray.length;i++){

Field field = fieldArray[i];

field.setAccessible(true);//确保私有权限属性可以在class文件外部使用

String fieldName = field.getName();//获取属性名

Object value = field.get(obj);

//4.将获得属性及其值拼接为JSON格式字符串

str.append("\"");

str.append(fieldName);

str.append("\":");

str.append("\"");

str.append(value);

str.append("\"");

if (ifieldArray.length){

str.append(",");

}

}

} catch (IllegalAccessException e) {

e.printStackTrace();

}finally {

str.append("}");

}

return str.toString();

}。

PHP JSON格式数据交互实例代码详解

在PHP中解析JSON主要用到json_encode和json_decode两个PHP

JSON函数,比PHP解析XML方便很多,下面详细介绍下PHP

JSON的使用。

JSON基础介绍

JSON(JavaScript

Object

Notation)

是一种轻量级的数据交换格式。

JSON主要有两种结构:

“名称/值”对的集合,在PHP中可以理解为关联数组

(associative

array)。

值的有序列表(An

ordered

list

of

values)。在PHP中可以理解为普通数组(array)。

对象是一个无序的“‘名称/值'对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值'

对”之间使用“,”(逗号)分隔。

数组是值(value)的有序集合。一个数组以“[”(左中括号)开始,“]”(右中括号)结束。值之间使用“,”(逗号)分隔。值(value)可以是双引号括起来的字符串(string)、数值(number)、true、false、

null、对象(object)或者数组(array)。这些结构可以嵌套。

我目前对JSON的理解更偏向于数组,类似于PHP中的关联数组,你可以将PHP数组转换为JSON格式。

更多JSON的介绍请参考JSON官网和IBM关于JSON的介绍

PHP

JSON解析实例

PHP5.2开始已经将JSON作为PHP扩展的一部分,所以并不需要另外安装JSON。另外为了保证下面的PHP

JSON实例不出现中文乱码,请保证你的编码格式为UTF8。

JSON是Javascript的一部分,首先我们看下Javascript中如何定义JSON

复制代码

代码如下:

var

json_obj

=

{'WebName':'PHP网站开发教程网'};

alert(json_obj.WebName);

var

json_arr

=[{'WebName':'PHP网站开发教程网','WebSite':''},{'ArtTitle':'PHP

JSON实例讲解'}]

alert(json_arr[1].ArtTitle);

var

php_json

=

[['PHP网站开发教程网',''],['文章标题','PHP

JSON实例讲解']];

alert(php_json[1][0]);

在这段JSON实例代码中我构建了所有的JSON形式,

第1行,定义了JSON以对象形式存在

第4行,定义了JSON以数组形式存在,嵌套了JSON对象,所以有点类似于PHP的关联数组,其实仍然是对象。

第7行,定了JSON以普通数组形式存在。

注意:由于Javascript是区分大小写的,所以访问JSON关联数组对象时注意key的大小写问题。

PHP与JSON格式数据交互时,第一步需要将PHP数组转换为JSON格式的数据,可使用PHP5自带的json_encode函数,当PHP解析传递过来的JSON格式数据时需要使用json_decode函数进行解析转换为PHP数组,PHP转换并解析JSON数据的实例代码如下

复制代码

代码如下:

?php

$json_arr

=

array('WebName'='PHP网站开发教程网','WebSite'='');

$php_json

=

json_encode($json_arr);

echo

$php_json;

$php_json

=

json_decode($php_json);

print_r($php_json);

?

说明:这里通过PHP定义了关联数组,然后通过json_encode转换为JSON格式的数据,通过echo语句可以看到转换后的JSON对象,通过PHP

JSON解析函数json_decode可以将JSON格式的数据解析为PHP的关联数组。如果编码不正确,JSON中文会出现乱码。如果你使用Editplus调试PHP,请注意保存文件时编码将ANSI改为UTF8。

最后我们来看下完整的PHP

JSON交互实例

复制代码

代码如下:

?php

$json_arr

=

array('WebName'='PHP网站开发教程网','WebSite'='');

$php_json

=

json_encode($json_arr);

?

script

type="text/javascript"

var

php_json

=

?=$php_json?;

/script

script

type="text/javascript"

function

php_json_dis(php_json)

{

alert(php_json.WebName);

alert(php_json.WebSite);

}

php_json_dis(php_json);

/script

至此,PHP通过json_encode和json_decode函数对JSON格式数据进行转换和解析的实例就介绍完了。

如何解析返回的json格式数据

json数据格式解析我自己分为两种;

一种是普通的,一种是带有数组形式的;

普通形式的:

服务器端返回的json数据格式如下:

复制代码代码如下:

{"userbean":{"Uid":"100196","Showname":"\u75af\u72c2\u7684\u7334\u5b50","Avtar":null,"State":1}}

分析代码如下:

复制代码代码如下:

// TODO 状态处理 500 200

int res = 0;

res = httpClient.execute(httpPost).getStatusLine().getStatusCode();

if (res == 200) {

/*

* 当返回码为200时,做处理

* 得到服务器端返回json数据,并做处理

* */

HttpResponse httpResponse = httpClient.execute(httpPost);

StringBuilder builder = new StringBuilder();

BufferedReader bufferedReader2 = new BufferedReader(

new InputStreamReader(httpResponse.getEntity().getContent()));

String str2 = "";

for (String s = bufferedReader2.readLine(); s != null; s = bufferedReader2

.readLine()) {

builder.append(s);

}

Log.i("cat", "" + builder.toString());

JSONObject jsonObject = new JSONObject(builder.toString())

.getJSONObject("userbean");

String Uid;

String Showname;

String Avtar;

String State;

Uid = jsonObject.getString("Uid");

Showname = jsonObject.getString("Showname");

Avtar = jsonObject.getString("Avtar");

State = jsonObject.getString("State");

带数组形式的:

服务器端返回的数据格式为:

复制代码代码如下:

{"calendar":

{"calendarlist":

[

{"calendar_id":"1705","title":"(\u4eb2\u5b50)ddssd","category_name":"\u9ed8\u8ba4\u5206\u7c7b","showtime":"1288927800","endshowtime":"1288931400","allDay":false},

{"calendar_id":"1706","title":"(\u65c5\u884c)","category_name":"\u9ed8\u8ba4\u5206\u7c7b","showtime":"1288933200","endshowtime":"1288936800","allDay":false}

]

}

}

分析代码如下:

复制代码代码如下:

// TODO 状态处理 500 200

int res = 0;

res = httpClient.execute(httpPost).getStatusLine().getStatusCode();

if (res == 200) {

/*

* 当返回码为200时,做处理

* 得到服务器端返回json数据,并做处理

* */

HttpResponse httpResponse = httpClient.execute(httpPost);

StringBuilder builder = new StringBuilder();

BufferedReader bufferedReader2 = new BufferedReader(

new InputStreamReader(httpResponse.getEntity().getContent()));

String str2 = "";

for (String s = bufferedReader2.readLine(); s != null; s = bufferedReader2

.readLine()) {

builder.append(s);

}

Log.i("cat", "" + builder.toString());

/**

* 这里需要分析服务器回传的json格式数据,

*/

JSONObject jsonObject = new JSONObject(builder.toString())

.getJSONObject("calendar");

JSONArray jsonArray = jsonObject.getJSONArray("calendarlist");

for(int i=0;ijsonArray.length();i++){

JSONObject jsonObject2 = (JSONObject)jsonArray.opt(i);

CalendarInfo calendarInfo = new CalendarInfo();

calendarInfo.setCalendar_id(jsonObject2.getString("calendar_id"));

calendarInfo.setTitle(jsonObject2.getString("title"));

calendarInfo.setCategory_name(jsonObject2.getString("category_name"));

calendarInfo.setShowtime(jsonObject2.getString("showtime"));

calendarInfo.setEndtime(jsonObject2.getString("endshowtime"));

calendarInfo.setAllDay(jsonObject2.getBoolean("allDay"));

calendarInfos.add(calendarInfo);

}

总结,普通形式的只需用JSONObject ,带数组形式的需要使用JSONArray 将其变成一个list。

请详细帮忙解释下这几句有关JSON的代码是什么意思

forEach 是数组(Array)类型遍历方法,所以json应该是一个对象数组;

Object.keys(param) 方法返回 参数param的所有键,例如:

Object.keys({a:1,b:2}) 返回值为 ['a','b']

所以,以上代码等价于

for(var?i=0;ijson.length;i++){

????var?val?=?json[i];

????var?keys?=?Object.keys(val);

????html?+=?"div?class?=?'cat'";

????for(var?i=0;ikeys.length;i++){

??????var?key?=?keys[i];

??????html?+=?"b"?+?key?+?"/b:?"?+?val[key]?+?"br";

????};

????html?+=?"/divbr";

}

其实就是将一个对象数组输出成了 html 内容

例 json = [{a:1,b:2},{c:3,d:4}]

输出:

div?class?=?'cat'

????ba/b:1br

????bb/b:2br

/divbr

div?class?=?'cat'

????bc/b:3br

????bd/b:4br

/divbr

为了方便浏览,对输出进行了格式化,真实输出应该是不包含任何换行和缩进的:

div?class?=?'cat'ba/b:1brbb/b:2br/divbrdiv?class?=?'cat'bc/b:3brbd/b:4br/divbr

以下代码不能把json格式的字符

你好,你的原题可能是

以下代码不能把json格式的字符 {} 转成json对象的有?

A

JSON.parse(‘{}’)

B

JSON(’{}’)

C

(new Function("return {}"))()

D

evel(‘{}’)

正确答案: b

(责任编辑:IT教学网)

更多

推荐mac苹果系统文章