java:Json
/**
* encoding: utf-8
* 版权所有 2023 涂聚文有限公司
* 许可信息查看:
* 描述:
* # Author : geovindu,Geovin Du 涂聚文.
* # IDE : IntelliJ IDEA 2023.1 Java 17
* # Datetime : 2023 - 2023/11/16 - 12:29
* # User : geovindu
* # Product : IntelliJ IDEA
* # Project : javademo
* # File : User.java 类
* # explain : 学习
**/
package Model;
import java.util.Objects;
/**
* 用户
* @author geovindu
*
*/
public class User {
/**
*姓名
*/
private String name;
/**
*职业
*/
private String occupation;
/**
*兄弟姐妹有几人
*/
private int siblings;
/**
*身高
*/
private double height;
/**
*结婚否
*/
private boolean married;
/**
*
* @param name
* @param occupation
* @param siblings
* @param height
* @param married
*/
public User(String name, String occupation, int siblings,
double height, boolean married) {
this.name = name;
this.occupation = occupation;
this.siblings = siblings;
this.height = height;
this.married = married;
}
/**
*获取姓名
* @return
*/
public String getName() {
return name;
}
/**
*设置姓名
* @param name
*/
public void setName(String name) {
this.name = name;
}
/**
*
* @return
*/
public String getOccupation() {
return occupation;
}
/**
*
* @param occupation
*/
public void setOccupation(String occupation) {
this.occupation = occupation;
}
/**
*
* @return
*/
public int getSiblings() {
return siblings;
}
/**
*
* @param siblings
*/
public void setSiblings(int siblings) {
this.siblings = siblings;
}
/**
*
* @return
*/
public double getHeight() {
return height;
}
/**
*
* @param height
*/
public void setHeight(double height) {
this.height = height;
}
/**
*
* @return
*/
public boolean isMarried() {
return married;
}
/**
*
* @param married
*/
public void setMarried(boolean married) {
this.married = married;
}
/**
*
* @param o
* @return
*/
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
User user = (User) o;
return siblings == user.siblings && Double.compare(user.height, height) == 0
&& married == user.married && Objects.equals(name, user.name)
&& Objects.equals(occupation, user.occupation);
}
/**
*
* @return
*/
@Override
public int hashCode() {
return Objects.hash(name, occupation, siblings, height, married);
}
/**
*
* @return
*/
@Override
public String toString() {
final StringBuilder sb = new StringBuilder("User{");
sb.append("name='").append(name).append('\'');
sb.append(", occupation='").append(occupation).append('\'');
sb.append(", siblings=").append(siblings);
sb.append(", height=").append(height);
sb.append(", married=").append(married);
sb.append('}');
return sb.toString();
}
}
/**
* encoding: utf-8
* 版权所有 2023 涂聚文有限公司
* 许可信息查看:
* 描述:https://www.tutorialspoint.com/org_json/org_json_cdl.htm
* https://www.baeldung.com/java-converting-json-to-csv
* # Author : geovindu,Geovin Du 涂聚文.
* # IDE : IntelliJ IDEA 2023.1 Java 17
* # Datetime : 2023 - 2023/11/16 - 21:24
* # User : geovindu
* # Product : IntelliJ IDEA
* # Project : javademo
* # File : UserBll.java 类
* # explain : 学习
**/
package BLL;
import org.json.JSONObject;
import org.json.JSONArray;
import org.json.JSONObject;
import org.json.JSONWriter;
import org.json.CDL;
import org.json.JSONTokener;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.logging.*;
import java.util.concurrent.locks.*;
import Model.User;
import java.io.*;
import java.util.stream.Stream;
import com.fasterxml.jackson.core.*;
import com.fasterxml.jackson.core.json.*;
import com.fasterxml.jackson.dataformat.csv.*;
import com.fasterxml.jackson.core.util.*;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.databind.MappingIterator;
import com.fasterxml.jackson.databind.introspect.*;
import Model.OrderLineForCsv;
import Model.OrderLine;
public class UserBll {
/**
*
*/
public static void getUser()
{
var user = new Model.User("John Doe", "gardener",
2, 172.35, true);
var userjo = new JSONObject(user);
System.out.println(userjo);
System.out.println(userjo.get("name"));
System.out.println(userjo.get("occupation"));
System.out.println(userjo.get("siblings"));
}
/**
*
*/
public static void getUserArry()
{
var user = new JSONObject();
user.put("name", "John Doe");
user.put("occupation", "gardener");
user.put("siblings", Integer.valueOf(2));
user.put("height", Double.valueOf(172.35));
user.put("married", Boolean.TRUE);
var cols = new JSONArray();
cols.put("red");
cols.put("blue");
cols.put("navy");
user.put("favCols", cols);
var userJson = user.toString();
System.out.println(userJson);
}
/**
*
*/
public static void getWrite()
{
var user = new StringBuilder();
var writer = new JSONWriter(user);
writer.object();
writer.key("name").value("John Doe");
writer.key("occupation").value("gardener");
writer.key("siblings").value(2);
writer.key("married").value(true);
writer.key("favCols");
writer.array();
writer.value("red");
writer.value("blue");
writer.value("navy");
writer.endArray();
writer.endObject();
System.out.println(user);
}
/**
*name, occupation, siblings, height, married
*/
public static void getCsvtoJson()
{
System.setProperty("java.util.logging.config.file","logging/logging.properties");
Logger logger=Logger.getLogger("com.darwinsys");
String csvData= "empId, name, age \n" +
"1, Mark, 22 \n" +
"2, Robert, 35 \n" +
"3, Julia, 18";
System.out.println(CDL.toJSONArray(csvData));
//Case 4: CSV without header
JSONArray jsonArray = new JSONArray();
jsonArray.put("empId");
jsonArray.put("name");
jsonArray.put("age");
csvData = "1, Mark, 22 \n" + "2, Robert, 35 \n" + "3, Julia, 18";
System.out.println(CDL.toJSONArray(jsonArray,csvData));
try {
/* CsvMapper csvMapper = new CsvMapper();
CsvSchema csvSchema = csvMapper
.schemaFor(OrderLineForCsv.class)
.withHeader();
OrderLine[] orderLines = new ObjectMapper()
.readValue(new File("src/resources/orderLines.json"), OrderLine[].class);
csvMapper.writerFor(OrderLine[].class)
.with(csvSchema)
.writeValue(new File("src/resources/data.csv"), orderLines);*/
/*
CsvSchema orderLineSchema = CsvSchema.emptySchema().withHeader();
CsvMapper csvMapper = new CsvMapper();
MappingIterator<OrderLine> orderLines = csvMapper.readerFor(OrderLine.class)
.with(orderLineSchema)
.readValues(new File("src/resources/data.csv"));
System.out.println(orderLines.readAll());
new ObjectMapper()
.configure(SerializationFeature.INDENT_OUTPUT, true)
.writeValue(new File("src/resources/orderLinesFromCsv.json"), orderLines.readAll());
*/
var data = Files.readString(Paths.get("src/resources/data.csv"),
StandardCharsets.UTF_8);
System.out.println(data);
jsonArray = new JSONArray();
jsonArray.put("name");
jsonArray.put("occupation");
jsonArray.put("siblings");
jsonArray.put("height");
jsonArray.put("married");
//读了标题,只读了一行
JSONArray usersJson = CDL.toJSONArray(jsonArray,data);
if(usersJson==null)
{
System.out.println("字符串转JSON错误");
}
else
{
System.out.println(CDL.toJSONArray(jsonArray,new JSONTokener(data)));
}
//usersJson.forEach(obj->System.out.println(obj));
System.out.println("user:"+usersJson.length());
usersJson.forEach(obj->{String name = ((JSONObject) obj).getString("name");
System.out.println(name);
//String occupation = ((JSONObject) obj).getString("occupation");
});
/* Stream.iterate(0,integer -> integer+1)
.limit(usersJson.length()).forEach(index->{
System.out.println("index==>"+index);
System.out.println(usersJson.get(index));
});*/
}
catch (Exception exception)
{
logger.log(Level.SEVERE,"Caught Exception",exception);
//LogRecord msg=new LogRecord(Level.SEVERE,"Caught Exception");
//msg.setThrown(exception);
//logger.log(msg);
System.out.println(exception.getMessage());
}
}
}
调用:
/**
* encoding: utf-8
* 版权所有 2023 涂聚文有限公司
* 许可信息查看:
* 描述:
* # Author : geovindu,Geovin Du 涂聚文.
* # IDE : IntelliJ IDEA 2023.1 Java 17
* # Datetime : 2023 - 2023/11/15 - 6:02
* # User : geovindu
* # Product : IntelliJ IDEA
* # Project : javademo
* # File : main.java 类
* # explain : 学习
*GraalVM
* https://www.graalvm.org/
* https://www.oracle.com/cn/java/graalvm/
* https://www.graalvm.org/downloads/#
* com.darwinsys
*CVS,Subversion,Git
* http://git-scm.com
*/
import com.darwinsys.util.*;
import Common.Env;
import Common.JsonHelper;
import BLL.UserBll;
public class Main {
/**
*
* @param args
*/
public static void main(String[] args)
{
System.out.println("Hello java language world! 涂聚文!");
UserBll bll=new UserBll();
UserBll.getUser();
UserBll.getUserArry();
UserBll.getWrite();
UserBll.getCsvtoJson();
System.out.println(Env.getEnv());
System.out.println(Env.getColor());
Env.getEnvList();
}
}


哲学管理(学)人生, 文学艺术生活, 自动(计算机学)物理(学)工作, 生物(学)化学逆境, 历史(学)测绘(学)时间, 经济(学)数学金钱(理财), 心理(学)医学情绪, 诗词美容情感, 美学建筑(学)家园, 解构建构(分析)整合学习, 智商情商(IQ、EQ)运筹(学)生存.---Geovin Du(涂聚文)
浙公网安备 33010602011771号