话不多说上源码。
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Test1 {
	public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		List<Integer> index=new ArrayList<>();
		List<String> strs=new ArrayList<>();
		int deep=0;
		while(sc.hasNextLine()){
			String s=sc.nextLine();
			if(s.length()==0)
				break;
			deep=s.lastIndexOf(" ");
			String ss=s.substring(deep+1);
			index.add(deep);
			strs.add(ss);
		}
		StringBuilder out=new StringBuilder();
		int cur=-1, next=0;
		out.append(strs.get(0));
		String temp="";
		int count=0;
		for(int i=1; i<strs.size(); i++){
			next=index.get(i);
			temp=strs.get(i);
			if(next>cur){
				out.append("(");
				count++;
			}
			if(next==cur){
				out.append(",");
			}
			if(next<cur){
				out.append("),");
				count--;
			}
			out.append(temp);
			cur=next;
		}
		while(count-->0){
			out.append(")");
			
		}
		System.out.println(out.toString());
		
	}
}
测试用例及结果

盛大编程题 输入一个深度树 输出他的josn格式(ps 第一次写 写的不好请不要见怪,另外就是有错的地方,不合理的地方请指出。)
原文:http://www.cnblogs.com/xpp-123/p/5918164.html