在线json转换

| 体育高考 |

【www.guakaob.com--体育高考】

在线json转换篇一
《json格式转换》

JS解析json数据(如何将json字符串转化为数组) 2011年06月09日 星期四 上午 10:47<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><TITLE> New Document </TITLE><SCRIPT LANGUAGE="JavaScript">var t="{'firstName': 'cyra', 'lastName': 'richardson', 'address': { 'streetAddress': '1 Microsoft way', 'city': 'Redmond', 'state': 'WA', 'postalCode': 98052 },'phoneNumbers': [ '425-777-7777','206-777-7777' ] }"; var jsonobj=eval('('+t+')');alert(jsonobj.firstName); alert(jsonobj.lastName);var t2="[{name:'zhangsan',age:'24'},{name:'lisi',age:'30'},{name:'wangwu',age:'16'},{name:'tianqi',age:'7'}] ";var myobj=eval(t2);for(var i=0;i<myobj.length;i++){alert(myobj[i].name);alert(myobj[i].age);}var t3="[['<a href=# onclick=openLink(14113295100,社旗县国税局桥头税务所,14113295100,d6d223892dc94f5bb501d4408a68333d,swjg_dm);>14113295100</a>','社旗县国税局桥头税务所','社旗县城郊乡长江路西段']]";//通过eval() 函数可以将JSON字符串转化为对象var obj = eval(t3);for(var i=0;i<obj.length;i++){for(var j=0;j<obj[i].length;j++){alert(obj[i][j]);}}/*//stringifier 函数的作用跟 parse 相反, 用来将一个js对象转换为 JSON 文本。var jsonText = JSON.stringify(obj); alert(jsonText);//如果基于安全的考虑的话,最好是使用一个 JSON 解析器。 一个 JSON 解析器将只接受 JSON 文本。所以是更安全的。var myObject = JSON.parse(myJSONtext, filter); //可选的 filter 参数将遍历每一个value key 值对, 并进行相关的处理。如://如myData = JSON.parse(text, function (key, value) { return key.indexOf('date') >= 0 ? new Date(value) : value; }); //stringifier 函数的作用跟 parse 相反, 用来将一个js对象转换为 JSON 文本。var myJSONText = JSON.stringifier(myObject); */</SCRIPT></HEAD><BODY></BODY></HTML>

在线json转换篇二
《JSON 教程》

JSON 教程Next PageJSON:JavaScript 对象表示法(JavaScript Object Notation)。JSON 是存储和交换文本信息的语法。类似 XML。JSON 比 XML 更小、更快,更易解析。每一章中用到的实例{"employees": [{ "firstName":"Bill" , "lastName":"Gates" },{ "firstName":"George" , "lastName":"Bush" },{ "firstName":"Thomas" , "lastName":"Carter" }]}这个 employee 对象是包含 3 个员工记录(对象)的数组。什么是 JSON ?•JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)•JSON 是轻量级的文本数据交换格式•JSON 独立于语言 *•JSON 具有自我描述性,更易理解* JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。JSON - 转换为 JavaScript 对象JSON 文本格式在语法上与创建 JavaScript 对象的代码相同。由于这种相似性,无需解析器,JavaScript 程序能够使用内建的 eval() 函数,用 JSON 数据来生成原生的 JavaScript 对象。=========================================JSON 简介Previous PageNext Page亲自试一试 - 实例通过我们的编辑器,您可以在线编辑 JavaScript 代码,然后通过点击一个按钮来查看结果:<html><body><h2>在 JavaScript 中创建 JSON 对象</h2><p>Name: <span id="jname"></span><br />Age: <span id="jage"></span><br />Address: <span id="jstreet"></span><br />Phone: <span id="jphone"></span><br /></p><script type="text/javascript">var JSONObject= {"name":"Bill Gates","street":"Fifth Avenue New York 666","age":56,"phone":"555 1234567"};document.getElementById("jname").innerHTML=JSONObject.namedocument.getElementById("jage").innerHTML=JSONObject.agedocument.getElementById("jstreet").innerHTML=JSONObject.streetdocument.getElementById("jphone").innerHTML=JSONObject.phone</script></body></html>亲自试一试------------------------------------------------------<html><body><h2>在 JavaScript 中创建 JSON 对象</h2><p>Name: <span id="jname"></span><br />Age: <span id="jage"></span><br />Address: <span id="jstreet"></span><br />Phone: <span id="jphone"></span><br /></p><script type="text/javascript">var JSONObject= {"name":"Bill Gates","street":"Fifth Avenue New York 666","age":56,"phone":"555 1234567"};document.getElementById("jname").innerHTML=JSONObject.namedocument.getElementById("jage").innerHTML=JSONObject.agedocument.getElementById("jstreet").innerHTML=JSONObject.streetdocument.getElementById("jphone").innerHTML=JSONObject.phone</script></body></html>-------------------------------------------------------类似 XML•JSON 是纯文本•JSON 具有“自我描述性”(人类可读)•JSON 具有层级结构(值中存在值)•JSON 可通过 JavaScript 进行解析•JSON 数据

可使用 AJAX 进行传输相比 XML 的不同之处•没有结束标签•更短•读写的速度更快•能够使用内建的 JavaScript eval() 方法进行解析•使用数组•不使用保留字为什么使用 JSON?对于 AJAX 应用程序来说,JSON 比 XML 更快更易使用:使用 XML•读取 XML 文档•使用 XML DOM 来循环遍历文档•读取值并存储在变量中使用 JSON•读取 JSON 字符串•用 eval() 处理 JSON 字符串===================================================JSON 语法Previous PageNext PageJSON 语法是 JavaScript 语法的子集。JSON 语法规则JSON 语法是 JavaScript 对象表示法语法的子集。•数据在名称/值对中•数据由逗号分隔•花括号保存对象•方括号保存数组JSON 名称/值对JSON 数据的书写格式是:名称/值对。名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:"firstName" : "John"这很容易理解,等价于这条 JavaScript 语句:firstName = "John"JSON 值JSON 值可以是:•数字(整数或浮点数)•字符串(在双引号中)•逻辑值(true 或 false)•数组(在方括号中)•对象(在花括号中)•nullJSON 对象JSON 对象在花括号中书写:对象可以包含多个名称/值对:{ "firstName":"John" , "lastName":"Doe" }这一点也容易理解,与这条 JavaScript 语句等价:firstName = "John"lastName = "Doe"JSON 数组JSON 数组在方括号中书写:数组可包含多个对象:{"employees": [{ "firstName":"John" , "lastName":"Doe" },{ "firstName":"Anna" , "lastName":"Smith" },{ "firstName":"Peter" , "lastName":"Jones" }]}在上面的例子中,对象 "employees" 是包含三个对象的数组。每个对象代表一条关于某人(有姓和名)的记录。JSON 使用 JavaScript 语法因为 JSON 使用 JavaScript 语法,所以无需额外的软件就能处理 JavaScript 中的 JSON。通过 JavaScript,您可以创建一个对象数组,并像这样进行赋值:例子var employees = [{ "firstName":"Bill" , "lastName":"Gates" },{ "firstName":"George" , "lastName":"Bush" },{ "firstName":"Thomas" , "lastName": "Carter" }];可以像这样访问 JavaScript 对象数组中的第一项:employees[0].lastName;返回的内容是:Gates可以像这样修改数据:employees[0].lastName = "Jobs";亲自试一试-------------------------------------------<html><body><h2>通过 JSON 字符串来创建对象</h3><p>First Name: <span id="fname"></span></p> <script type="text/javascript">var employees = [{ "firstName":"Bill" , "lastName":"Gates" },{ "firstName":"George" , "lastName":"Bush" },{ "firstName":"Thomas" , "lastName": "Carter" }];employees[1].firstName="Jobs";document.getElementById("fname").innerHTML=employees[1].firstName;</scr

ipt></body></html>-------------------------------------------在下面的章节,您将学到如何把 JSON 文本转换为 JavaScript 对象。JSON 文件•JSON 文件的文件类型是 ".json"•JSON 文本的 MIME 类型是 "application/json"================================================================JSON 使用Previous PageNext Page把 JSON 文本转换为 JavaScript 对象JSON 最常见的用法之一,是从 web 服务器上读取 JSON 数据(作为文件或作为 HttpRequest),将 JSON 数据转换为 JavaScript 对象,然后在网页中使用该数据。为了更简单地为您讲解,我们使用字符串作为输入进行演示(而不是文件)。JSON 实例 - 来自字符串的对象创建包含 JSON 语法的 JavaScript 字符串:var txt = '{ "employees" : [' +'{ "firstName":"Bill" , "lastName":"Gates" },' +'{ "firstName":"George" , "lastName":"Bush" },' +'{ "firstName":"Thomas" , "lastName":"Carter" } ]}';由于 JSON 语法是 JavaScript 语法的子集,JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错误:var obj = eval ("(" + txt + ")");在网页中使用 JavaScript 对象:例子<p>First Name: <span id="fname"></span><br />Last Name: <span id="lname"></span><br /></p><script type="text/javascript">document.getElementById("fname").innerHTML = obj.employees[1].firstNamedocument.getElementById("lname").innerHTML = obj.employees[1].lastName</script>亲自试一试-------------------------------------------------------------<html><body><h2>通过 JSON 字符串来创建对象</h3><p>First Name: <span id="fname"></span><br /> Last Name: <span id="lname"></span><br /> </p> <script type="text/javascript">var txt = '{"employees":[' +'{"firstName":"Bill","lastName":"Gates" },' +'{"firstName":"George","lastName":"Bush" },' +'{"firstName":"Thomas","lastName":"Carter" }]}';var obj = eval ("(" + txt + ")");document.getElementById("fname").innerHTML=obj.employees[1].firstName document.getElementById("lname").innerHTML=obj.employees[1].lastName </script></body></html>------------------------------------------------------------------JSON 解析器提示:eval() 函数可编译并执行任何 JavaScript 代码。这隐藏了一个潜在的安全问题。使用 JSON 解析器将 JSON 转换为 JavaScript 对象是更安全的做法。JSON 解析器只能识别 JSON 文本,而不会编译脚本。在浏览器中,这提供了原生的 JSON 支持,而且 JSON 解析器的速度更快。较新的浏览器和最新的 ECMAScript (JavaScript) 标准中均包含了原生的对 JSON 的支持。Web 浏览器支持 Web 软件支持 •Firefox (Mozilla) 3.5•Internet Explorer 8•Ch

rome•Opera 10•Safari 4•jQuery•Yahoo UI•Prototype•Dojo•ECMAScript 1.5亲自试一试-------------------------------------------------------------<html><body><h2>通过 JSON 字符串来创建对象</h3><p>First Name: <span id="fname"></span><br /> Last Name: <span id="lname"></span><br /> </p> <script type="text/javascript">var txt = '{"employees":[' +'{"firstName":"Bill","lastName":"Gates" },' +'{"firstName":"George","lastName":"Bush" },' +'{"firstName":"Thomas","lastName":"Carter" }]}';obj = JSON.parse(txt);document.getElementById("fname").innerHTML=obj.employees[1].firstName document.getElementById("lname").innerHTML=obj.employees[1].lastName </script></body></html>---------------------------------------------------------------对于较老的浏览器,可使用 JavaScript 库: https://github.com/douglascrockford/JSON-jsJSON 格式最初是由 Douglas Crockford 制定的。

在线json转换篇三
《JSON后台相互转换》

JSON转换

package ;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.Iterator;

import java.util.List;

import java.util.Map;

import net.sf.json.JSONArray;

import net.sf.json.JSONObject;

public class JsonUtil{

/**

* 从一个JSON 对象字符格式中得到一个java对象

* @param jsonString

* @param pojoCalss

* @return

*/

public static Object getObject4JsonString(String jsonString,Class pojoCalss){ Object pojo;

JSONObject jsonObject = JSONObject.fromObject(jsonString); pojo = JSONObject.toBean(jsonObject,pojoCalss);

return pojo;

}

/**

* 从一个JSON 对象字符格式中得到一个java对象

* @param jsonString

* @param pojoCalss

* @param classMap

* @return

*/

public static Object getObject4JsonString(String jsonString,Class pojoCalss,HashMap classMap){

Object pojo;

JSONObject jsonObject = JSONObject.fromObject(jsonString);

pojo = JSONObject.toBean(jsonObject,pojoCalss,classMap);

return pojo;

}

/**

* 从一个JSON 对象字符格式中得到一个MorphDynaBean对象

* @param jsonString

* @param pojoCalss

* @param classMap

* @return

*/

public static Object getObject4JsonString(String jsonString){

JSONObject jsonObject = JSONObject.fromObject(jsonString);

return jsonObject.toBean(jsonObject);

}

/**

* 从json HASH表达式中获取一个map,改map支持嵌套功能

* @param jsonString

* @return

*/

public static Map getMap4Json(String jsonString){

JSONObject jsonObject = JSONObject.fromObject( jsonString );

Iterator keyIter = jsonObject.keys();

String key;

Object value;

Map valueMap = new HashMap();

while( keyIter.hasNext()){

key = (String)keyIter.next();

value = jsonObject.get(key).toString().equals("null")?null:jsonObject.get(key); valueMap.put(key, value);

}

return valueMap;

}

/**

* 从json数组中得到相应java数组

* @param jsonString

* @return

*/

public static Object[] getObjectArray4Json(String jsonString){

JSONArray jsonArray = JSONArray.fromObject(jsonString);

return jsonArray.toArray();

}

/** *//**

* 从json对象集合表达式中得到一个java对象列表

* @param jsonString

* @param pojoClass

* @return

*/

public static List getList4Json(String jsonString, Class pojoClass){

JSONArray jsonArray = JSONArray.fromObject(jsonString);

JSONObject jsonObject;

Object pojoValue;

List list = new ArrayList();

for ( int i = 0 ; i<jsonArray.size(); i++){

jsonObject = jsonArray.getJSONObject(i);

pojoValue = JSONObject.toBean(jsonObject,pojoClass);

list.add(pojoValue);

}

return list;

}

/**

* 从json数组中解析出java字符串数组

* @param jsonString

* @return

*/

public static String[] getStringArray4Json(String jsonString){

JSONArray jsonArray = JSONArray.fromObject(jsonString);

String[] stringArray = new String[jsonArray.size()];

for( int i = 0 ; i<jsonArray.size() ; i++ ){

stringArray[i] = jsonArray.getString(i);

}

return stringArray;

}

/** *//**

* 从json数组中解析出java Date 型对象数组,使用本方法必须保证 * @param jsonString

* @return

*/

/*

public static Date[] getDateArray4Json(String jsonString,String DataFormat){

JSONArray jsonArray = JSONArray.fromObject(jsonString);

Date[] dateArray = new Date[jsonArray.size()];

String dateString;

Date date;

for( int i = 0 ; i<jsonArray.size() ; i++ ){

dateString = jsonArray.getString(i);

date = DateUtil.stringToDate(dateString, DataFormat);

dateArray[i] = date;

}

return dateArray;

}*/

/**

* 将java对象转换成json字符串

* @param javaObj

* @return

*/

public static String getJsonString4JavaPOJO(Object javaObj){

JSONObject json;

json = JSONObject.fromObject(javaObj);

return json.toString();

}

/**

* 将List转换成json字符串

* @param list

* @return

*/

public static String getJsonString4List(List list){

if(null==list){

list = new ArrayList();

}

JSONArray json;

json = JSONArray.fromObject(list);

return json.toString();

}

/**

* 将List转换成json字符串

* @param list

* @return

*/

public static String getJsonString4Map(Map map){

JSONArray json;

json = JSONArray.fromObject(map);

return json.toString();

}

/** *//**

* 将java对象转换成json字符串,并设定日期格式

* @param javaObj

* @param dataFormat

* @return

*/

/*

public static String getJsonString4JavaPOJO(Object javaObj , String dataFormat){

JSONObject json;

JsonConfig jsonConfig = configJson(dataFormat);

json = JSONObject.fromObject(javaObj,jsonConfig);

return json.toString();

}

*/

/** *//**

* JSON 时间解析器具

* @param datePattern

* @return

*/

/*

public static JsonConfig configJson(String datePattern) {

在线json转换篇四
《Html与Json相互转换的方法》

jquery简单实现html与JSon的互换

1 > jquery任意版本

2>实现步骤(js代码)

3>html代码

在线json转换篇五
《json字符串转换》

//bean对象转换成为json字符串public void convertBean(){Student stu=new Student("jack","male",24);JSONObject json=JSONObject.fromObject(stu);System.out.println("对象转换成json字符串:"+json);}//将Map集合转化为json字符串public void convertMap(){Student s1=new Student("jack","male",24);Student s2=new Student("tom","male",25);Map<String, Object> sh=new HashMap<String, Object>();//添加对象sh.put("stu1",s1);sh.put("stu2", s2);//添加属性:sh.put("address","china xf");//添加一个JSON对象方法String func= "function(i){ alert(i);}";sh.put("func", func);JSONObject json=JSONObject.fromObject(sh);System.out.println("map转换成json字符串:"+json);}//将数组或List转换成Json字符串public void convertArray(){List<String> list=new ArrayList<String>();list.add("welcome");list.add("to");list.add("xf");list.add("accp");JSONArray json=JSONArray.fromObject(list);System.out.println("list转换成json字符串:"+json);}//构造JSon对象public void buildJSon(){JSONObject json=new JSONObject();//添加属性json.accumulate("name","jack");//添加方法JSONFunction showName = new JSONFunction(new String[]{"name"},"return this.name];"); json.accumulate("showName", showName);//添加对象、集合、数组Student s1=new Student("tom","male",25);Map<String, Object> sh=new HashMap<String, Object>();sh.put("stu1",s1);json.accumulate("stu",sh);System.out.println("构造的Json对象:"+json);}//从字符串中构造jsonpublic void buildJsonFormStr(){String str="{\"sex\":\"male\",\"name\":\"jack\",\"age\":24}";JSONObject json=JSONObject.fromObject(str);System.out.println("从字符串中构造json对象:"+json);//获取json中对象的值String name=json.getString("name");String sex=json.getString("sex");int age=json.getInt("age");System.out.println("name:"+name);System.out.println("sex:"+sex);System.out.println("age:"+age);}public static void main(String[] args){JsonTest t=new JsonTest();t.convertBean();t.convertMap();t.convertArray();t.buildJSon();t.buildJsonFormStr();}//注:属性必须具备相应的getter或setter方法才能转换成JSON字符串//创建JSON对象方法private JSONFunction showName = new JSONFunction(new String[]{"name"},"return this.name];"); //使用JSon格式构造一个user类(类似于类但不是真正意义上的类),里面拥有属性:userName,age,sex,info,addressvar user={"userName":"jack","age":20,"sex":"male","info":{"tel":"010-223111","post":"223322"},"address":[{"country":"china","city":"xf"},{"country":"england","city":"london"}] };function showJson(){var name=u

ser.userName;var age=user.age;var sex=user.sex;var tel=user.info.tel;var post=user.info.post;var countryOne=user.address[0].country;var countryTwo=user.address[1].country;var cityOne=user.address[0].city;var cityTwo=user.address[1].city;var str="name:"+name+"<br/>age:"+age+"<br/>tel:"+tel+"<br/>post:"+post+"<br/>country:"+countryOne+"<br/>city:"+cityTwo;document.getElementById("showSpan").innerHTML=str; }function modifyJson(){//修改user中的userName;user.userName="rose";user.age=33;user.sex="female"var name=user.userName;var age=user.age;var sex=user.sex;var tel=user.info.tel;var post=user.info.post;var countryOne=user.address[0].country;var cityOne=user.address[0].city;var cityTwo=user.address[1].city;var str="name:"+name+"<br/>age:"+age+"<br/>tel:"+tel+"<br/>post:"+post+"<br/>country:"+countryOne+"<br/>city:"+cityTwo;document.getElementById("showSpan").innerHTML=str; }//构造一个person类function person(name,age,sex ){this.name=name;this.age=age;this.sex=sex; };//使用Json.js的方法将对象转换成JSon字符串function convertToJson(){//创建person类对象var u=new person("jack",23,"male"); //将对象u转换成JSon字符串 var jsonStr=u.toJSONString(); document.getElementById("showSpan").innerHTML=jsonStr; }//将JSon字符串转换成为对象function convertToObject(){var json='{"name":"rose","age":33,"sex":"female"}';//下面两种方式都是将json字符串转化为对象//var obj=eval('(' + json + ')');var obj=json.parseJSON();var name=obj.name;var age=obj.age;var sex=obj.sex;var str="name:"+name+"<br/>age:"+age+"<br/>sex:"+sex; document.getElementById("showSpan").innerHTML=str; }

在线json转换篇六
《json数据转换》

很多时候从服务器传过来的json文本比较复杂,下面的函数可以把数组,String,Object转为JSON格式的内容。 1 JSON = { encode : function(input) { 2 if (!input)

3 return 'null'

4 switch (input.constructor)

5 { case String: return '"' + input + '"'

6 case Number: return input.toString()

7 case Boolean: return input.toString()

8 case Array :

9 var buf = []

10 for (i in input)

11 buf.push(JSON.encode(input07))

12 return '[' + buf.join(', ') + ']'

13 case Object:

14 var buf = []

15 for (k in input)

16 buf.push(k + ' : ' + JSON.encode(input[k]))

17 return '{ ' + buf.join(', ') + '} '

18 default: return 'null' }

19 }

20 }

下面是一个调用实例:

1 if (xmlhttp.readyState == 4 && xmlhttp.status == 200)

2 {var result = xmlhttp.responseText;

3 text = JSON.encode(result);

4 var gen3 = document.getElementById("gen3");

5 gen3.innerHTML = result;

?

1 }

在线json转换篇七
《JSON基础教程》

JSON 教程JSON:JavaScript 对象表示法(JavaScript Object Notation)。 JSON 是存储和交换文本信息的语法。类似 XML。 JSON 比 XML 更小、更快,更易解析。每一章中用到的实例{ "employees": [ { "firstName":"Bill" , "lastName":"Gates" }, { "firstName":"George" , "lastName":"Bush" }, { "firstName":"Thomas" , "lastName":"Carter" } ] }这个 employee 对象是包含 3 个员工记录(对象)的数组。什么是 JSON ?   JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JSON 独立于语言 * JSON 具有自我描述性,更易理解* JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。JSON - 转换为 JavaScript 对象JSON 文本格式在语法上与创建 JavaScript 对象的代码相同。 由于这种相似性,无需解析器,JavaScript 程序能够使用内建的 eval() 函数,用 JSON 数据来生成原生的 JavaScript 对象。亲自试一试 - 实例通过我们的编辑器,您可以在线编辑 JavaScript 代码,然后通过点击一个按钮来查看结果:<html> <body> <h2>在 JavaScript 中创建 JSON 对象</h2><p> Name: <span id="jname"></span><br />

Age: <span id="jage"></span><br /> Address: <span id="jstreet"></span><br /> Phone: <span id="jphone"></span><br /> </p><script type="text/javascript">var JSONObject= { "name":"Bill Gates", "street":"Fifth Avenue New York 666", "age":56, "phone":"555 1234567"};document.getElementById("jname").innerHTML=JSONObject.name document.getElementById("jage").innerHTML=JSONObject.age document.getElementById("jstreet").innerHTML=JSONObject.street document.getElementById("jphone").innerHTML=JSONObject.phone </script></body> </html>亲自试一试类似 XML    JSON 是纯文本 JSON 具有“自我描述性”(人类可读) JSON 具有层级结构(值中存在值) JSON 可通过 JavaScript 进行解析 JSON 数据可使用 AJAX 进行传输相比 XML 的不同之处     没有结束标签 更短 读写的速度更快 能够使用内建的 JavaScript eval() 方法进行解析 使用数组 不使用保留字

为什么使用 JSON?对于 AJAX 应用程序来说,JSON 比 XML 更快更易使用:使用 XML  使用 JSON读取 XML 文档 使用 XML DOM 来循环遍历文档 读取值并存储在变量中 读取 JSON 字符串 用 eval() 处理 JSON 字符串SON 语法是 JavaScript 语法的子集。JSON 语法规则JSON 语法是 JavaScript 对象表示法语法的子集。   数据在名称/值对中 数据由逗号分隔 花括号保存对象 方括号保存数组JSON 名称/值对JSON 数据的书写格式是:名称/值对。 名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:"firstName" : "John"这很容易理解,等价于这条 JavaScript 语句:firstName = "John"JSON 值JSON 值可以是:     数字(整数或浮点数) 字符串(在双引号中) 逻辑值(true 或 false) 数组(在方括号中) 对象(在花括号中) null

JSON 对象JSON 对象在花括号中书写: 对象可以包含多个名称/值对:{ "firstName":"John" , "lastName":"Doe" }这一点也容易理解,与这条 JavaScript 语句等价:firstName = "John" lastName = "Doe"JSON 数组JSON 数组在方括号中书写: 数组可包含多个对象:{ "employees": [ { "firstName":"John" , "lastName":"Doe" }, { "firstName":"Anna" , "lastName":"Smith" }, { "firstName":"Peter" , "lastName":"Jones" } ] }在上面的例子中,对象 "employees" 是包含三个对象的数组。每个对象代表一条关于某人(有姓和名)的记录。JSON 使用 JavaScript 语法因为 JSON 使用 JavaScript 语法,所以无需额外的软件就能处理 JavaScript 中的 JSON。 通过 JavaScript,您可以创建一个对象数组,并像这样进行赋值:例子var employees = [ { "firstName":"Bill" , "lastName":"Gates" }, { "firstName":"George" , "lastName":"Bush" }, { "firstName":"Thomas" , "lastName": "Carter" } ];可以像这样访问 JavaScript 对象数组中的第一项:

employees[0].lastName;返回的内容是:Gates可以像这样修改数据:employees[0].lastName = "Jobs";亲自试一试 在下面的章节,您将学到如何把 JSON 文本转换为 JavaScript 对象。JSON 文件 JSON 文件的文件类型是 ".json" JSON 文本的 MIME 类型是 "application/json"把 JSON 文本转换为 JavaScript 对象JSON 最常见的用法之一,是从 web 服务器上读取 JSON 数据(作为文件或作为 HttpRequest),将 JSON 数据转换为 JavaScript 对象, 然后在网页中使用该数据。 为了更简单地为您讲解,我们使用字符串作为输入进行演示(而不是文件)。JSON 实例 - 来自字符串的对象创建包含 JSON 语法的 JavaScript 字符串:var txt = '{ "employees" : [' + '{ "firstName":"Bill" , "lastName":"Gates" },' + '{ "firstName":"George" , "lastName":"Bush" },' + '{ "firstName":"Thomas" , "lastName":"Carter" } ]}';由于 JSON 语法是 JavaScript 语法的子集,JavaScript 函数 eval() 可用于将 JSON 文本转换为 JavaScript 对象。 eval() 函数使用的是 JavaScript 编译器,可解析 JSON 文本,然后生成 JavaScript 对象。必须把文本包围在括号中,这样才能避免语法错 误:var obj = eval ("(" + txt + ")");在网页中使用 JavaScript 对象:例子<p> First Name: <span id="fname"></span><br />

在线json转换篇八
《xml 和 json 转换工具》

Xml和json转换工具,包括三个文件:ExtHelper.java、Total.java和TotalJson.java

Javacode ExtHelper.java

import java.util.ArrayList;

import java.util.List;

import net.sf.json.JSONObject;

import com.thoughtworks.xstream.XStream;

import com.thoughtworks.xstream.io.xml.DomDriver;

/**

* Title: Ext JS 辅助类

* Description: 该类用于转换java对象为XML文件格式或JSON文件格式

* @author 葛昊

* @time: 2009年2月5日11:10:54

*/

public class ExtHelper {

/**

* 通过List生成XML数据

* @param recordTotal 记录总数,不一定与beanList中的记录数相等

* @param beanList 包含bean对象的集合

* @return 生成的XML数据

*/

@SuppressWarnings("unchecked")

public static String getXmlFromList(long recordTotal , List beanList) {

Total total = new Total();

total.setResults(recordTotal);

List results = new ArrayList();

results.add(total);

results.addAll(beanList);

XStream sm = new XStream(new DomDriver());

for (int i = 0; i < results.size(); i++) {

Class c = results.get(i).getClass();

String b = c.getName();

String[] temp = b.split("\\.");

sm.alias(temp[temp.length - 1], c);

}

String xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" + sm.toXML(results); return xml;

}

/**

* 通过List生成XML数据

* @param beanList 包含bean对象的集合

* @return 生成的XML数据

*/

@SuppressWarnings("unchecked")

public static String getXmlFromList(List beanList){

return getXmlFromList(beanList.size(),beanList);

}

/**

* 通过List生成JSON数据

* @param recordTotal 记录总数,不一定与beanList中的记录数相等 * @param beanList 包含bean对象的集合

* @return 生成的JSON数据

*/

@SuppressWarnings("unchecked")

public static String getJsonFromList(long recordTotal , List beanList){ TotalJson total = new TotalJson();

total.setResults(recordTotal);

total.setItems(beanList);

JSONObject JsonObject = JSONObject.fromObject(total); return JsonObject.toString();

}

/**

* 通过List生成JSON数据

* @param beanList 包含bean对象的集合

* @return 生成的JSON数据

*/

@SuppressWarnings("unchecked")

public static String getJsonFromList(List beanList){

return getJsonFromList(beanList.size(),beanList);

}

/**

* 通过bean生成JSON数据

* @param bean bean对象

* @return 生成的JSON数据

*/

public static String getJsonFromBean(Object bean){

JSONObject JsonObject = JSONObject.fromObject(bean); return JsonObject.toString();

}

}

Javacode Total.java

public class Total {

private long results;

public long getResults() { return results; } public void setResults(long results) { this.results = results;

}

}

Javacode TotalJson.java

import java.util.List;

/**

* 作用是用来封装查询的结果和总数的

* */

public class TotalJson {

private long results;

private List items;

public List getItems() {

return items;

}

public void setItems(List items) { this.items = items;

}

public long getResults() {

return results;

}

public void setResults(long results) { this.results = results;

}

}

在线json转换篇九
《提供将对象转换成JSON字符串的方法》

提供将对象转换成JSON字符串的方法

2009-03-17 16:52

import java.lang.reflect.Field;

import java.util.ArrayList;

import java.util.HashMap;

/**

* 提供将对象转换成JSON字符串的方法

*

* @author Bom Wu

* @create Mar 13, 2009

*/

public class JSON {

/**

* 将一个对象转换成JSON字符串表示,该对象应该符合 JavaBean规范。 * 如果对象的某个属性不是数字或字符串,该属性将被忽略,不会出现在JSON字符串中

*

* @param obj

* 要转换的对象

* @return 描述该对象的JSON字符串,包括属性名与属性值

*/

public static String toJSON(Object obj) {

HashMap<String, String> map = new HashMap<String, String>(); Class c = obj.getClass();

Field[] fields = c.getDeclaredFields();

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

String name = fields[i].getName();

try {

fields[i].setAccessible(true);

Object o = fields[i].get(obj);

if (o instanceof Number) {

map.put("\"" + name + "\"", o.toString());

} else if (o instanceof String) {

map.put("\"" + name + "\"", "\"" + o.toString() + "\"");

}

} catch (IllegalArgumentException e) {

} catch (IllegalAccessException e) {

}

}

String s = map.toString();

String str = s.replaceAll("\"=", "\":");

return str;

}

/**

* 将一个对象数组转换成JSON字符串

*

* @param objs

* 要转换的对象数组

* @return 转换后得到的字符串

*/

public static String toJSON(Object[] objs) {

String[] strs = new String[objs.length];

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

strs[i] = toJSON(objs[i]);

}

return toJSONArray(strs);

}

/**

* 将多个JSON字符串转换成一个JSON字符串,并加入一个标识长度的属性length

*

* @param strs

* 要转换的多个JSON字符串

* @return 完整的一个JSON字符串

*/

public static String toJSONArray(String[] strs) {

StringBuffer sb = new StringBuffer();

sb.append("{");

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

sb.append("\"");

sb.append(i);

sb.append("\":");

sb.append(strs[i]);

sb.append(",");

}

sb.append("\"length\":");

sb.append(strs.length);

sb.append("}");

return sb.toString();

}

/**

* 测试

*

* @param args

*/

@SuppressWarnings("unchecked")

public static void main(String[] args) { User user = new User();

user.setId("1234");

user.setName("hahaha");

user.setAge(21);

User user1 = new User();

user1.setId("5767");

user1.setName("hehehe");

user1.setAge(18);

ArrayList list = new ArrayList();

list.add(user);

list.add(user1);

// System.out.println(JSON.toJSON(user));

System.out.println(JSON.toJSON(list.toArray())); }

}

/**

* 用来测试的类

*

* @author Bom Wu

* @create Mar 13, 2009

*/

class User {

private String name;

private String id;

private int age;

public int getAge() {

return age;

}

public void setAge(int age) {

this.age = age;

}

public String getId() {

return id;

}

public void setId(String id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) { this.name = name;

}

}

在线json转换篇十
《json和数组转换》

//安卓视频教程:微信公众平台开发的基础教程案例:今日正则:反斜杠的写错,{}忘记用\{转义了,\w,这样写才正确w\,{\错误,出错经常在这里telnet命令的用法:在window7下进入黑窗口,输入时总提示:不是外部命令或者内部命令,解决办法:一般是要自己配置的,打开控制面板,找到程序或程序功能,然后在左边有个打开或关闭windows功能,点击它,然后把telnet的客户端和 服务器勾上就可以了。 //5.13php定界符写js,跳转地址的几种错误:(1)window.location.href=$url;$url没有用双引号引起。(2)url字符串拼接发生的错误:错误写法<?php $url='$script=<<< abcwindow.loaction.herf=$url."01.php";abc;echo $script;?>正确写法:在外面拼接好了,再放进去就解决问题了<?php $url='$script=<<< abcwindow.loaction.herf="$url";abc;echo $script;?>ci框架遇到的问题继承ci数据库model出现的错误原因:问题所在:写了个publicmodel继承了ci框架的CI_MODEL,然后在mvc里的m写一model继承publicmodel,当我调用ci一query()方法时候报错了,后来在m写的model里的构造函数加上$this->load->database();就解决问题了。。。//5.27/********************插入的补充*********************************************进一步发现:是自己在c层里写的控制器写的构造函数里的header('Content-Type:text/html; charset=utf-8');这行代码写成了:header('Content-Type:textml; charset=utf-8');所以造成了这样的错误,但是在m层写的model里的构造函数加上$this->load->database();也是可以解决问题的,至于原因,没有深究//6.25****************************************************************************/ci框架c层里的文件夹的子文件夹里调用不了控制器的方法,好像要配置下,具体做法无做,当时就把子文件里的文件放回他的父文件那里去了。json数组相互转换;json转数组:json_decode($arr,true);封装函数:protected function splitJsonString($jsonString){if(empty($jsonString)){return -3;}//判断是否为JSON格式if(is_null(json_decode($jsonString))){//不是json格式return -3;}else{//分拆JSON字符串return json_decode($jsonString,true);}}数组转json:json_encode($str)封装函数:public function JSON($array) { $this->arrayRecursive($array, 'urlencode', true); $json = json_encode($array); return urldecode($json); }private function arrayRecursive(&$array, $function, $apply_to_keys_also = false) { static $recursive_counter = 0; if (++$recursive_counter > 1000) {

die('possible deep recursion attack'); } foreach ($array as $key => $value) { if (is_array($value)) { $this->arrayRecursive($array[$key], $function, $apply_to_keys_also); } else { $array[$key] = $function($value); } if ($apply_to_keys_also && is_string($key)) { $new_key = $function($key); if ($new_key != $key) { $array[$new_key] = $array[$key]; unset($array[$key]); } } } $recursive_counter--;} //ci路径问题的探讨6.25在confing文件夹里的config.php配置文件里设置base_url的值如:$config['base_url'] = '调用c层的某一方法:如:$url=base_url()."yunjian/ag_basenum(控制器)/createnum(方法)";ag_basenum.php的绝对路径是:D:\wamp\所以根据这个路径分析:D:\wamp\$url=base_url()."yunjian/ag_basenum(控制器)/createnum(方法)";可以看出是忽略了application\controllers这两个文件夹了,这个应该是ci的内部处理结果。获取二进制流图片,再将二进制流图片写入文件保存,再用getimagesize获取图片信息大小2014-7-23生成大中小缩略图代码function makeThumb($ori_img, $new_img, $percent=50, $width=0, $height=0){$original = getimagesize($ori_img); //得到图片的信息,可以print_r($original)发现它就是一个数组//$original[2]是图片类型,其中1表示gif、2表示jpg、3表示pngswitch($original[2]){case 1 : $s_original = imagecreatefromgif($ori_img);break;case 2 : $s_original = imagecreatefromjpeg($ori_img);break;case 3 : $s_original = imagecreatefrompng($ori_img);break;}if($percent > 0){$width = $original[0] * $percent / 100;$width = ($width > 0) ? $width : 1;$height = $original[1] * $percent / 100;$height = ($height > 0) ? $height : 1;}//创建一个真彩的画布$canvas = imagecreatetruecolor($width,$height);imagecopyresized($canvas, $s_original, 0, 0, 0, 0, $width, $height, $original[0], $original[1]);//header("Content-type:image/jpeg");//imagejpeg($canvas); //向浏览器输出图片$loop = imagejpeg($canvas, $new_img,2); //生成新的图片if($loop){echo "OK!<br/>";}}//makeThumb("images/11.jpg","images/suoluejiede.jpg",100,192,120); //生成原图15%的缩略图//makeThumb("images/01.jpg","images/suolue5.jpg",300,200,120); //生成宽为200px,高为120px的缩略图// makeThumb("images/01.jpg","images/suolue6.jpg",400,200,120); //生成原图15%的缩略图(参数都填时,百分率优先级大)//生成日期目录function make_dir(){$dir = date('Y/m/d/',time());//日期目录//判断目录是否存在if (is_dir($dir)) {// 如果不存在

,按照年月日创建if(@mkdir($dir, 0777,true)==false){//return -22;//创建目录失败echo -22;}//$a=@mkdir($dir, 0777,true);//var_dump($a);}$temp="qwertyuiopasdfghjklzxcvbnm0123456789";$name=substr(str_shuffle($temp),0,10);//图片随机名,打乱字符串$path=$dir.$name.".png";echo $path;}时间格式a - "am" 或是 "pm"A - "AM" 或是 "PM"d - 几日,二位数字,若不足二位则前面补零; 如: "01" 至 "31"D - 星期几,三个英文字母; 如: "Fri"F - 月份,英文全名; 如: "January"h - 12 小时制的小时; 如: "01" 至 "12"H - 24 小时制的小时; 如: "00" 至 "23"g - 12 小时制的小时,不足二位不补零; 如: "1" 至 12"G - 24 小时制的小时,不足二位不补零; 如: "0" 至 "23"i - 分钟; 如: "00" 至 "59"j - 几日,二位数字,若不足二位不补零; 如: "1" 至 "31"l - 星期几,英文全名; 如: "Friday"m - 月份,二位数字,若不足二位则在前面补零; 如: "01" 至 "12"n - 月份,二位数字,若不足二位则不补零; 如: "1" 至 "12"M - 月份,三个英文字母; 如: "Jan"s - 秒; 如: "00" 至 "59"S - 字尾加英文序数,二个英文字母; 如: "th","nd"t - 指定月份的天数; 如: "28" 至 "31"U - 总秒数w - 数字型的星期几,如: "0" (星期日) 至 "6" (星期六)Y - 年,四位数字; 如: "1999"y - 年,二位数字; 如: "99"z - 一年中的第几天; 如: "0" 至 "365"

本文来源:http://www.guakaob.com/xuelileikaoshi/75674.html

    【在线json转换】相关推荐