CCF JSON查询 Java 完美满分 详解

CCF JSON查询 Java 完美满分 详解

主要想法就是用一个列表当做像栈一样缓存着键,遇到键字符串的时候就把它与上一层的键结合成嵌套形式存入列表,这样,列表的最后一个元素总是代表着当前键值对的键,当当前这一个键值对处理完之后,这个键在后面就不会被使用到了,就再把它从列表中移除

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Scanner;

public class Main {
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
	

Scanner scan=new Scanner(System.in);
int	n=scan.nextInt();
int	m=scan.nextInt();
scan.nextLine();
	StringBuilder sb=new StringBuilder();
	String input;
	/**
	因为题目中说了字符串中的内容不包含空格,则删掉空格不会影响键值字符串内容,所以为了格式清晰,就把所有的空格删掉,然后把所有内容整成一行
*/
	for(int i=0;i list =new ArrayList<>();
	list.add(null);//这样是为了第一层的键好处理
	HashMap map=new HashMap<>();
	//用一个map来存所有的键值对,即使多层嵌套的对象也可以
char c;
String pre;
String key;
String value;
String tmp="";
//逐个字符遍历内容
	for(int i=1;i

你可能感兴趣的:(读研学习)