JSON(JavaScript Object Notation)
- Javascript용 표기 방식
- REST API 등에서 많이 사용됨
- JSON 객체는 Object로 변환이 가능하며
Object도 JSON으로 변환이 가능함
- JSON.parse : String -> Object
- JSON.stringify : Object -> String
☆ Code
<!doctype html>
<html>
<head>
<title>JSON</title>
</head>
<body>
<h1>Javascript JSON <-> Object </h1>
<hr>
</body>
<script>
var user = { name: "BTS", members: 7, age: 28 }
var userJSON = JSON.stringify(user);
console.log(user);
console.log(userJSON);
var user2 = JSON.parse(userJSON);
console.log(user2);
user2.members = 8;
user2.age = 31;
var userJSON2 = JSON.stringify(user2);
console.log(userJSON2);
// 고차원
function Product(name, price, stock){
this.name = name;
this.price = price;
this.stock = stock;
// 자신을 json으로 변환하여 저장
this.json = JSON.stringify(this);
}
var shoe = new Product("Fila", 108000, 10);
console.log(shoe);
console.log(shoe.json);
shoe.price = 110000;
console.log(shoe.json); // 생성 당시에 만든 것(수정안됨)
// naver stock
var data = '[{"localTradedAt":"2024-11-12","closePrice":"710.52","compareToPreviousClosePrice":"-18.32","compareToPreviousPrice":{"code":"5","text":"하락","name":"FALLING"},"fluctuationsRatio":"-2.51","openPrice":"728.72","highPrice":"729.07","lowPrice":"707.96"},{"localTradedAt":"2024-11-11","closePrice":"728.84","compareToPreviousClosePrice":"-14.54","compareToPreviousPrice":{"code":"5","text":"하락","name":"FALLING"},"fluctuationsRatio":"-1.96","openPrice":"744.86","highPrice":"745.42","lowPrice":"727.04"},{"localTradedAt":"2024-11-08","closePrice":"743.38","compareToPreviousClosePrice":"9.86","compareToPreviousPrice":{"code":"2","text":"상승","name":"RISING"},"fluctuationsRatio":"1.34","openPrice":"739.91","highPrice":"746.89","lowPrice":"739.66"},{"localTradedAt":"2024-11-07","closePrice":"733.52","compareToPreviousClosePrice":"-9.79","compareToPreviousPrice":{"code":"5","text":"하락","name":"FALLING"},"fluctuationsRatio":"-1.32","openPrice":"743.47","highPrice":"743.47","lowPrice":"727.10"},{"localTradedAt":"2024-11-06","closePrice":"743.31","compareToPreviousClosePrice":"-8.50","compareToPreviousPrice":{"code":"5","text":"하락","name":"FALLING"},"fluctuationsRatio":"-1.13","openPrice":"757.23","highPrice":"761.01","lowPrice":"737.77"},{"localTradedAt":"2024-11-05","closePrice":"751.81","compareToPreviousClosePrice":"-2.27","compareToPreviousPrice":{"code":"5","text":"하락","name":"FALLING"},"fluctuationsRatio":"-0.30","openPrice":"752.17","highPrice":"756.60","lowPrice":"750.17"},{"localTradedAt":"2024-11-04","closePrice":"754.08","compareToPreviousClosePrice":"25.03","compareToPreviousPrice":{"code":"2","text":"상승","name":"RISING"},"fluctuationsRatio":"3.43","openPrice":"730.50","highPrice":"755.00","lowPrice":"728.11"},{"localTradedAt":"2024-11-01","closePrice":"729.05","compareToPreviousClosePrice":"-14.01","compareToPreviousPrice":{"code":"5","text":"하락","name":"FALLING"},"fluctuationsRatio":"-1.89","openPrice":"735.67","highPrice":"736.26","lowPrice":"729.05"},{"localTradedAt":"2024-10-31","closePrice":"743.06","compareToPreviousClosePrice":"4.87","compareToPreviousPrice":{"code":"2","text":"상승","name":"RISING"},"fluctuationsRatio":"0.66","openPrice":"734.25","highPrice":"743.22","lowPrice":"728.34"},{"localTradedAt":"2024-10-30","closePrice":"738.19","compareToPreviousClosePrice":"-5.99","compareToPreviousPrice":{"code":"5","text":"하락","name":"FALLING"},"fluctuationsRatio":"-0.80","openPrice":"743.53","highPrice":"746.23","lowPrice":"738.13"}]';
var stock = JSON.parse(data);
console.log(stock);
for(let i=0; i<stock.length; i++){
if(stock[i].compareToPreviousPrice.text == "하락")
document.write(stock[i].localTradedAt + " : 망함<br>")
}
</script>
</html>
'JavaScript' 카테고리의 다른 글
JS dom (0) | 2024.12.03 |
---|---|
JS 콜백 (0) | 2024.12.02 |
JS 객체 (0) | 2024.12.01 |
JS 지역변수와 전역변수 (0) | 2024.11.26 |
JS 다이얼로그 (0) | 2024.11.26 |