天天看点

java中操作json

//************文件***************
{
"cat":"it",
"languages":[{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName": "Carter" }
],
"pop":true


 }//******************************************************
import java.io.FileNotFoundException;
 import java.io.FileReader;


 import com.google.gson.JsonArray;
 import com.google.gson.JsonIOException;
 import com.google.gson.JsonObject;
 import com.google.gson.JsonParser;
 import com.google.gson.JsonSyntaxException;


 public class Json {
 public static void main(String[] args) {
//解析器,解析字符串或输入流(文件内容)
JsonParser parser =new JsonParser();
try {//读取项目中test.json文件
JsonObject object =(JsonObject) parser.parse(new FileReader("test.json"));
System.out.println("cat="+object.get("cat").getAsString());
System.out.println("pop="+object.get("pop").getAsBoolean());

JsonArray array=object.get("languages").getAsJsonArray();
for (int i = 0; i < array.size(); i++) {
System.out.println("**********************");
JsonObject subObject=array.get(i).getAsJsonObject();
   System.out.println("firstName="+subObject.get("firstName").getAsString());

}


} catch (JsonIOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JsonSyntaxException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
 }
//*******************************************************************************java创建json
public class CreateJson {
 public static void main(String[] args) {
JsonObject object=new JsonObject();
object.addProperty("cat", "it");

JsonArray array=new JsonArray();
JsonObject subObject=new JsonObject();
subObject.addProperty("firstName", "George");
subObject.addProperty("lastName", "Bush");
array.add(subObject);

object.add("languages", array);
object.addProperty("pop", true);

System.out.println(object.toString());

 }
 }//*****************************************************
结果:
{"cat":"it","languages":[{"firstName":"George","lastName":"Bush"}],"pop":true}