Welcome   HUNAN NORMAL UNIVERSITY ACM/ICPC Judge Online
Home
FAQs
Problem Set
Practices
Online Contests
Major Exercises
OI Special
Judgement
Submit
Online Status
User Ranklist
Users
Register new
Login
Web Links
Hunan Normal University
College of Information Science and Engineering
JSONSJONSJON
Time Limit: 1000ms, Special Time Limit:2500ms, Memory Limit:32768KB
Total submit users: 8, Accepted users: 6
Problem 11854 : No special judgement
Problem description
  JSON是一种格式字符串,一般用于在网络上传递信息。例如:
{“name”:”zhangsan”,”age”:18,”height”:174.3}
一个JSON字符串由一对花括号包围,里面有若干键值对,键值对之间用逗号隔开。键值对的格式是:键 冒号 值。
在JSON里可以出现多种数据类型,为了简单起见,此处只允许字符串、整型和双精度类型。每一种类型均是由其表现形式决定的。
以双引号包围的是字符串,任何内容均可。
由数字以及正负号构成的是整型,符合32位十进制整型的组成规则(不包括八进制和十六进制)。
由数字、小数点和正负号构成的是双精度类型,符合定点数的组成规则(不包括指数形式的数)。
很明显,键只能是字符串类型,而值可以是多种类型。键名只由字母与数字构成,且必然由字母开头。
通常而言为了编码方便,我们会把一个格式的JSON字符串对应为一个class对象。例如对上例而言,可以编写如下类(Java语言格式):
public class C{
private String name;
private Integer age;
private Double height;
public String getName(){return name;}
public void setName(String name){this.name=name;}
public Integer getAge(){return age;}
public void setAge(Integer age){this.age=age;}
public Double getHeight(){return height;}
public void setHeight(Double height){this.height=height;}
}
你会观察到这个class是由JSON字符串得到的,而且规则也还比较简单。每一个键都作为class的private成员,成员名与键名保持一致,类型则由值类型决定。并且为每一个成员添加public的get和set函数。get函数的类型由成员类型决定,set函数的类型一律为void。get函数无需参数,set函数只有一个与成员同类型同名参数。get函数的函数名格式为get加上首字母大写的成员名(其他字母维持不变),set函数类似。函数体也非常有规律,具体见示例。成员出现的顺序与键顺序保持一致,后面的get与set函数对也按这个顺序出现(每个函数对,get在前)。
为了简单起见,类的名字一律取为C。也就是说本题中答案的第一行永远是public class C{。
另外对空格和换行有着严格的规定。第一行如上文所述,右花括号单独一行。首末行均无缩进。其他行每行缩进4格。每个成员及每个函数均各占一行。需要空格的地方只空1格,可以不空格的地方不得空格。
例如对于语句return age;而言,return与age之间必须空一格,否则代码出错。而age与分号之间可以不空格,则不得空格。

Input
  单独一行,为一个JSON字符串,字符数不超过1000。保证格式正确,且只由花括号、字母、数字、小数点、逗号、冒号、双引号和正负号构成。

Output
  输出对应的POJO对象的Java源代码。

Sample Input
见题目描述。 
Sample Output
Problem Source
  HUNNU Contest 

Submit   Discuss   Judge Status  Problems  Ranklist 

HUNAN NORMAL UNIVERSITY ACM/ICPC Judge Online, Version 2010.5.5.final.
Web visits:2112 today,16258839 total, since 2010-05-07