JSON - 전역
JSON 스크립트 포함은 문자열에서 JSON 객체를 만들고 JSON 객체를 문자열로 변환하는 메서드를 제공합니다.
이 API에는 동적 메서드와 정적 메서드가 있습니다. JSON 객체를 생성하여 동적 메서드에 액세스합니다. 범위가 지정된 응용 프로그램에서 동적 메서드를 사용하려면 생성자를 호출할 때 전역 접두사를 추가합니다. 정적 JSON 객체를 사용하여 정적 메서드에 액세스합니다.
JSON 정적 메서드 대신 JavaScript ES5 네이티브 JSON 개체가 사용됩니다. 스크립트에 이전 동작이 필요하면, encode( )와 decode() 메서드를 사용하십시오.
// obj is a JSON formatted object
var parser = new JSON(); // encode() and decode() are dynamic methods.
var str = parser.encode(obj);encode()와 decode() 메서드는 폐지되었습니다. 대신 JavaScript JSON 객체를 사용합니다.
// obj is a JSON formatted object
var parser = new global.JSON();
var str = parser.encode(obj);
// obj is a JSON formatted object
var str = JSON.stringify(obj);
// str is a string containing content to be turned into a JSON formatted object
var obj = JSON.parse(str);
JSON - JSON()
JSON 클래스의 인스턴스를 작성합니다.
이 클래스는 더 이상 사용되지 않습니다. 대신 JavaScript JSON 객체를 사용합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
JSON - decode(String str)
JSON 형식의 문자열에서 객체 또는 기본 형식을 만듭니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| STR | 문자열 | JSON 형식의 문자열입니다. |
| 유형 | 설명 |
|---|---|
| 객체 | 지정된 문자열에서 작성된 객체입니다. |
var str = '{"name":"George","lastname":"Washington"}';
var parser = new JSON();
var obj = parser.decode(str);
gs.info('The first name is ' + obj.name);
출력: 이름은 George입니다.
범위가 지정된 스크립트에서 사용합니다.
var str = '{"name":"George","lastname":"Washington"}';
var parser = new global.JSON();
var obj = parser.decode(str);
gs.info('The first name is ' + obj.name);
출력: 이름은 George입니다.
JSON - encode(Object jsonObject)
JSON 객체에서 문자열을 작성합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| json객체 | 객체 | 문자열로 변환할 JSON 객체입니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | JSON 형식의 문자열입니다. |
var obj = {"name":"George","lastname":"Washington"};
var parser = new JSON();
var str = parser.encode(obj);
gs.info('The object ' + str);
출력: 객체 {"lastname":"Washington","name":"George"}
범위가 지정된 스크립트에서 사용합니다.
var obj = {"name":"George","lastname":"Washington"};
var parser = new global.JSON();
var str = parser.encode(obj);
gs.info('The object ' + str);
JSON - parse(String str)
JSON 형식의 문자열에서 객체 또는 기본 형식을 만듭니다.
JSON 정적 메서드 대신 JavaScript ES5 네이티브 JSON 개체가 사용됩니다. 스크립트에 이전 동작이 필요하면, encode( )와 decode() 메서드를 사용하십시오.
| 이름 | 유형 | 설명 |
|---|---|---|
| STR | 문자열 | JSON 형식의 문자열입니다. |
| 유형 | 설명 |
|---|---|
| 객체 | 지정된 문자열에서 작성된 객체입니다. |
var str = '{"name":"George","lastname":"Washington"}';
var obj = JSON.parse(str);
gs.info('The first name is ' + obj.name);
출력: 이름은 George입니다.
JSON - stringify(객체 jsonObject)
JSON 객체에서 문자열을 작성합니다.
JSON.stringify()메소드는 숫자, 문자열 및 Java 기본 객체 만 문자열로 변환 할 수 있습니다. 사용자 정의 객체는 toJSON() 메서드를 제공하지 않는 한 문자열로 변환할 수 없습니다. current.sys_id()를 호출하면 toJSON() 메서드가 없는 GlideElement 객체가 반환되므로 stringify의 반환 값은 비어 있습니다("{}"). JSON 정적 메서드 대신 JavaScript ES5 네이티브 JSON 개체가 사용됩니다. 스크립트에 이전 동작이 필요하면, encode( )와 decode() 메서드를 사용하십시오.
- 값에 toJSON() 메서드가 있는 경우 직렬화되는 데이터를 정의해야 합니다.
- 부울, 숫자 및 문자열 개체는 문자열화 중에 해당 기본 값으로 변환됩니다. 전통적인 변환 의미론에 따라.
- 변환 중에 함수, 정의되지 않은 또는 기호가 발견되면 생략되거나(객체에서 발견되는 경우) null로 중도절단됩니다(배열에서 발견되는 경우). JSON.stringify()는
JSON.stringify(function(){})또는JSON.stringify(undefined)와 같은 "순수한" 값을 전달할 때도 undefined를 반환합니다. - 모든 심볼 키 속성은 replacer() 함수를 사용하는 경우에도 무시됩니다.
- Date의 인스턴스는 문자열(date.toISOString()과 동일)을 반환하여 toJSON() 함수를 구현하므로, 문자열로 취급됩니다.
- 숫자 Infinity 및 NaN과 값 null은 모두 null로 간주됩니다.
- 다른 모든 개체 인스턴스의 경우 열거 가능한 속성만 serialize됩니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| json객체 | 객체 | 문자열로 변환할 JSON 객체입니다. |
| 유형 | 설명 |
|---|---|
| 문자열 | JSON 형식의 문자열입니다. |
var obj = {"name":"George","lastname":"Washington"};
var str = JSON.stringify(obj);
gs.info('The object ' + str);
출력: 객체 {"name":"George","lastname":"Washington"}
replacer() 함수를 정의하고 stringify() 호출에서 사용할 수도 있습니다. 이 함수는 GlideElement.toString() 메서드를 활용하여 GlideElement 객체의 문자열 표현을 제공합니다.
function replacer(name, val) {
// convert GlideElement to string
if ( val && val.constructor === GlideElement ) {
return val.toString();
} else {
return val; // return as is
}
};
var s = global.JSON.stringify(json_obj, replacer);
gs.info("json="+s);