JSON

[ios字符串转json格式]JSON字符串格式化

字号+ 作者:H5之家 来源:H5之家 2017-07-30 12:00 我要评论( )

262阅读网,doFill(buf, count, fillStringUnit);buf.append(token);continue;}if (token.equals(quot;[quot;)) {String nextToken = tokenList.get(i + 1);if (n

篇一 : JSON字符串格式化

Java代码

public class JsonTool {

/**

* json字符串的格式化

*

* @param json

* @param fillStringUnit

* @return

*/

public static String formatJson(String json, String fillStringUnit) {

if (json == null || json.trim().length() == 0) {

return null;

}

int fixedLenth = 0;

ArrayListtokenList = new ArrayList();

{

String jsonTemp = json;

//预读取

while (jsonTemp.length() >0) {

String token = getToken(jsonTemp);

jsonTemp = jsonTemp.substring(token.length());

token = token.trim();

tokenList.add(token);

}

}

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

String token = tokenList.get(i);

int length = token.getBytes().length;

if (length >fixedLenth && i < tokenList.size() - 1 && tokenList.get(i + 1).equals(":")) {

fixedLenth = length;

}

}

StringBuilder buf = new StringBuilder();

int count = 0;

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

String token = tokenList.get(i);

if (token.equals(",")) {

buf.append(token);

doFill(buf, count, fillStringUnit);

continue;

}

if (token.equals(":")) {

buf.append(" ").append(token).append(" ");

continue;

}

if (token.equals("{")) {

String nextToken = tokenList.get(i + 1);

if (nextToken.equals("}")) {

i++;

buf.append("{ }");

} else {

count++;

buf.append(token);

doFill(buf, count, fillStringUnit);

}

continue;

}

if (token.equals("}")) {

count--;

doFill(buf, count, fillStringUnit);

buf.append(token);

continue;

}

if (token.equals("[")) {

String nextToken = tokenList.get(i + 1);

if (nextToken.equals("]")) {

i++;

buf.append("[ ]");

} else {

count++;

buf.append(token);

doFill(buf, count, fillStringUnit);

}

continue;

}

if (token.equals("]")) {

count--;

doFill(buf, count, fillStringUnit);

buf.append(token);

continue;

}

buf.append(token);

//左对齐

if (i < tokenList.size() - 1 && tokenList.get(i + 1).equals(":")) {

int fillLength = fixedLenth - token.getBytes().length;

if (fillLength >0) {

for(int j = 0; j < fillLength; j++) {

buf.append(" ");

}

}

}

}

return buf.toString();

}

private static String getToken(String json) {

StringBuilder buf = new StringBuilder();

boolean isInYinHao = false;

while (json.length() >0) {

String token = json.substring(0, 1);

json = json.substring(1);

if (!isInYinHao &&

(token.equals(":") || token.equals("{") || token.equals("}")

|| token.equals("[") || token.equals("]")

|| token.equals(","))) {

if (buf.toString().trim().length() == 0) {

buf.append(token);

}

break;

}

if (token.equals("\\")) {

buf.append(token);

buf.append(json.substring(0, 1));

json = json.substring(1);

continue;

}

if (token.equals("\"")) {

buf.append(token);

if (isInYinHao) {

break;

} else {

isInYinHao = true;

continue;

}

}

buf.append(token);

}

return buf.toString();

}

private static void doFill(StringBuilder buf, int count, String fillStringUnit) {

buf.append("\n");

for (int i = 0; i < count; i++) {

buf.append(fillStringUnit);

}

}

}

作者“wuyuhou”

篇二 : JSON对象和字符串之间的相互转换

比如我有两个变量,我要将a转换成字符串,将b转换成JSON对象:

view sourceprint?

1vara={"name":"tom","sex":"男","age":"24"};

2

3varb='{"name":"Mike","sex":"女","age":"29"}';

在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法。(]

JSON.stringify(obj)将JSON转为字符串。JSON.parse(string)将字符串转为JSON格式;

上面的转换可以这么写:

view sourceprint?

01vara={"name":"tom","sex":"男","age":"24"};

02

03varb='{"name":"Mike","sex":"女","age":"29"}';

04

05varaToStr=JSON.stringify(a);

06

07varbToObj=JSON.parse(b);

08

09alert(typeof(aToStr)); //string

10

11alert(typeof(bToObj));//object

JSON.stringify()

ie8(兼容模式),ie7和ie6没有JSON对象,不过提供了一个json.js,这样ie8(兼容模式),ie7和ie6就可以支持JSON对象以及其stringify()和parse()方法;你可以在https://github.com/douglascrockford/JSON-js上获取到这个js,一般现在用json2.js。

ie8(兼容模式),ie7和ie6可以使用eval()将字符串转为JSON对象,

1varc='{"name":"Mike","sex":"女","age":"29"}';

2varcToObj=eval("("+c+")");

3alert(typeof(cToObj));

jQuery中也有将字符串转为JSON格式的方法jQuery.parseJSON( json ),接受一个标准格式的 JSON 字符串,并返回解析后的 JavaScript (JSON)对象。当然如果有兴趣可以自己封装一个jQuery扩展,jQuery.stringifyJSON(obj)将JSON转为字符串。

扩展:字符串转换为json对象 / json对象转换成字符串 / js字符串转换json对象

篇三 : C#语言之“string格式的日期时间字符串转为DateTime类型”的方法

方法一:Convert.ToDateTime(string)

string格式有要求,必须是yyyy-MM-dd hh:mm:ss

================================================

方法二:Convert.ToDateTime(string, IFormatProvider)

DateTime dt;

DateTimeFormatInfo dtFormat = new System.GlobalizationDateTimeFormatInfo();

dtFormat.ShortDatePattern = "yyyy/MM/dd";

dt = Convert.ToDateTime("2011/05/26", dtFormat);

================================================

方法二:DateTime.ParseExact()

string dateString = "20110526";

DateTime dt = DateTime.ParseExact(dateString, "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture);

或者

DateTime dt = DateTime.ParseExact(dateString, "yyyyMMdd", System.Globalization.CultureInfo.InvariantCulture);

附参考信息:

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Ajax 编程技术 第十一章 JSON PowerPoint Presentation

    Ajax 编程技术 第十一章 JSON PowerPoint Presentation

    2017-07-29 14:00

  • “Newtonsoft.Json ......”在这两个“混合\ Newtonsoft.Json.dl

    “Newtonsoft.Json ......”在这两个“混合\ Newtonsoft.Json.dl

    2017-07-29 13:03

  • iOS开发使用JSON解析网络数据

    iOS开发使用JSON解析网络数据

    2017-06-26 18:01

  • [ios字符串转json格式]json字符串转换为JSONObject和JSONArray .

    [ios字符串转json格式]json字符串转换为JSONObject和JSONArray .

    2017-06-22 12:01

网友点评
-