字符串转json对象
package wordcount.算数表达式;import org.apache.commons.io.IOUtils;import java.io.FileReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;public class Str2Map {public String strs;int position=0;Object current;Object nextToken(){while (position<strs.length()){switch (strs.charAt(position)){case '\r':position++ ; break;case '\n':position++ ; break;case '\t':position++ ; break;case ' ':position++ ; break;case '"':return current=getStr('"');case '\'':return current=getStr('\'');case '{':++position;return current=Token.LJ;case '}':++position;return current=Token.RJ;case '[':++position;return current=Token.LA;case ']':++position;return current=Token.RA;case ',':++position;return current=Token.DOUHAO;case ':':++position;return current=Token.MAO;case 'n':position+=4;return current=Token.NULL;default:{if( '0'<=strs.charAt(position) && strs.charAt(position)<='9'){return current=getNum();}}}}return null;}private Number getNum() {StringBuffer stringBuffer=new StringBuffer();boolean isDouble=false;while ('0'<=strs.charAt(position) && strs.charAt(position)<='9'||strs.charAt(position)=='.'){if(strs.charAt(position)=='.'){isDouble=true;}stringBuffer.append(strs.charAt(position));position++;}if(!isDouble) {return Integer.valueOf(stringBuffer.toString());}else{return Double.valueOf(stringBuffer.toString());}}public String getStr(char end){StringBuffer stringBuffer=new StringBuffer();position++;while (strs.charAt(position)!=end){stringBuffer.append(strs.charAt(position));position++;}position++;return stringBuffer.toString();}public Map<String,Object> getJSON(){Map<String,Object> json=new HashMap<>();nextToken();while (current!=Token.RJ){String key= (String) current;nextToken();Object o = nextToken();if(o == Token.NULL){json.put(key,null );nextToken();}else if(!(o instanceof Token)){json.put(key,o );nextToken();}else if ( o == Token.LJ){json.put(key,getJSON() );}else if( o == Token.LA){json.put(key, getArr());}if(current == Token.DOUHAO){nextToken();}}nextToken();return json;}public List getArr(){List list=new ArrayList();nextToken();while (current!=Token.RA){if(current == Token.LA){list.add(getArr());}else if(current == Token.LJ){list.add(getJSON());}else{if(current == Token.NULL){list.add(null);}else {list.add(current);}nextToken();}if(current == Token.DOUHAO){nextToken();}}nextToken();return list;}Object getObj(){nextToken();if(current==Token.LJ){return getJSON();}else{return getArr();}}public static void main(String[] args) throws Exception {Str2Map str2Map=new Str2Map();str2Map.strs=IOUtils.toString(new FileReader("C:\\Users\\Administrator\\Desktop\\bb\\case.txt"));System.out.println(str2Map.getObj());}
}
//{"a":"a1","b":123,"c":{"a":"a1","b":123},"d":{"a":"a1","b":123,"c":{"a":"a1","b":123}}}
package wordcount.算数表达式;public enum Token {LJ("{"),RJ("}"),LA("["),RA("]"),DOUHAO(","),MAO(":"),NULL("null") ;String str;private Token(String str){this.str=str;}}
字符串转json对象相关推荐
- JAVA中如何将一个json形式的字符串转为json对象或对象列表
import java.util.*; import java.text.SimpleDateFormat;import org.json.JSONObject; import org.json.JS ...
- FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换
fastJson对于json格式字符串的解析主要用到了一下三个类: JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换. JSONObject:fas ...
- jq js json 转字符串_JQuery如何把JSON字符串转为JSON对象
本文介绍JQuery如何把JSON字符串转为JSON对象. HTML代码 下面的HTML代码实现JQuery把JSON字符串转为JSON对象. Name: Age: City: Country: va ...
- Json字符串和Json对象的简单总结
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.JSON成为理想的数据交换语言. 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率). ...
- JSON字符串与JSON对象的区别
JSON JavaScript Object Notation是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的数据交换格式. json可以以数组传递,也可以以对象传递. 在数据传输流 ...
- 转换字符串为json对象的方法
JSON是一种便于操作使用的轻量级数据交换格式.易于人阅读和编写.同时也易于机器解析和生成.具体介绍请查看:[url]http://www.json.org[/url]. 很多时候我们需要 ...
- JSON | JSON字符串和JSON对象的区别
最近在学习Vue.js,里面有个存储.读取本地缓存的功能,不停地用JSON.parse(),和JSON.stringify()来转换JSON字符串和JSON对象.自己有点晕,不明白两者的区别,看起来感 ...
- js中string字符串转换为JSON对象 - 方法大全(4种)
js中string字符串转换为JSON对象 - 方法大全(4种) jQuery插件支持的转换方式: 示例: //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对 ...
- jquery:字符串转json对象,json对象转字符串
jquery:字符串转json对象,json对象转字符串 JSON字符串: var str = '{ "name": "cxh", "sex" ...
- json字符串,JSON对象,JSON数组的区别与相互转换
JSON数组,json字符串,JSON对象,数组的区别与基本操作整理 JSON对象是直接可以使用JQuery操作的格式 JSON字符串仅仅只是一个字符串,一个整体,不截取的话没办法取出其中存储的数据, ...
最新文章
- 会数据分析的人别再低调了,我怕你会因此错失100万奖金
- 云原生安全的挑战与实践
- BZOJ3246 IOI2013Dreaming
- 鼎捷软件怎么样_凯里物流仓储怎么样
- 缓存机制与局部性原理
- 计算机类专业权威解读,09计算机考研统考大纲权威解读之操作系统
- 如何使用GDAL进行图像镶嵌
- 2020阿里笔试编程题
- 基于 Openpose 实现人体动作识别
- 雅虎助手,thanks
- Android实现通话呼叫转移与监听通话录音功能
- 【deepstream部署Yolov6】
- 【Android Camera】SOF Freeze
- 2014.7.8 第一天学习hfss13
- NLP实现文本分词+在线词云实现工具
- Linux I/O编程
- “两两”求和问题技巧
- 阿里云倒逼亚马逊提高市场竞争?AWS CEO安迪·贾西谈量子计算与AI
- UE4 骨骼动画 蓝图中调节某一根骨骼
- 创维电视linux系统怎么连接wifi,创维电视怎么连接wifi