문자열을 JSON 개체로 변환
어떻게 하면 JS가 문자열을 JSON이라고 생각하게 할 수 있을까요?
JSON 오브젝트가 전달되어야만 작동하는 기능이 있습니다.JSON과 같은 포맷의 문자열을 전달하면 동작하지 않습니다.그래서 나는 그 함수가 전달된 문자열을 JSON이라고 생각하게 하고 싶다.문자열은 실제로 JSON 형식입니다.
저도 다음과 같이 해봤습니다.Ajax를 통해 문자열을 입력하고 "handle as" 파라미터를 "JSON"으로 하여 결과를 함수에 전달하면 동작합니다.
그래서 나는 현에 문제가 없다고 추론했다.이 문자열을 JSON으로 변환하려면 어떻게 해야 하나요?Ajax 요청을 통해 동일한 문자열을 얻은 후 해당 문자열을 함수에 전달하면 동작하지만 직접 전달하면 동작하지 않습니다.
문자열은 다음과 같습니다.
{
"data": [
{
"id": "id1",
"fields": [
{
"id": "name1",
"label": "joker",
"unit": "year"
},
{"id": "name2", "label": "Quantity"},
],
"rows": [ data here....
and closing braces..
var obj = JSON.parse(string);
어디에string
json 문자열입니다.
를 사용할 수 있습니다.JSON.parse()
그럴 수 있어요.
예:
var myObj = JSON.parse('{"p": 5}');
console.log(myObj);
당신과 비슷한 끈으로 같은 문제를 겪었어요.
{id:1,field1:"someField"},{id:2,field1:"someOtherField"}
여기서 문제는 문자열의 구조입니다.이 경우 json 파서는 2개의 개체를 생성해야 한다는 것을 인식하지 못했습니다.그래서 제가 한 짓은 좀 바보같아요, 그냥 줄을 다시 짜고, 그 줄을 추가했어요.[]
이것으로 파서는 인식되었다
var myString = {id:1,field1:"someField"},{id:2,field1:"someOtherField"}
myString = '[' + myString +']'
var json = $.parseJSON(myString)
도움이 됐으면 좋겠는데
좀 더 우아한 접근법이 있다면 공유해주세요.
var obj = jQuery.parseJSON('{"name":"John"}');
alert( obj.name === "John" );
링크:-
http://api.jquery.com/jQuery.parseJSON/
간단하게 사용eval
기능.
var myJson = eval(theJsibStr);
오브젝트 매퍼를 사용하여 문자열을 HashMap으로 변환합니다...
new ObjectMapper().readValue(string, Map.class);
내부 맵은 JSON 개체로 동작합니다.
var Data=[{"id": "name2", "label": "Quantity"}]
문자열 변수를 Json 구문 분석으로 전달합니다.
Objdata= Json.parse(Data);
당신이 이런 끈을 가지고 있다고 생각해 봅시다.
예: "이름: ename, age: 21, gender: female"
function getJsonData(query){
let arrayOfKeyValues = query.split(',');
let modifiedArray = new Array();
console.log(arrayOfKeyValues);
for(let i=0;i< arrayOfKeyValues.length;i++){
let arrayValues = arrayOfKeyValues[i].split(':');
let arrayString ='"'+arrayValues[0]+'"'+':'+'"'+arrayValues[1]+'"';
modifiedArray.push(arrayString);
}
let jsonDataString = '{'+modifiedArray.toString()+'}';
let jsonData = JSON.parse(jsonDataString);
console.log(jsonData);
console.log(typeof jsonData);
return jsonData;
}
let query = "name:lucy,age:21,gender:female";
let response = getJsonData(query);
console.log(response);
`
JSON.parse()
기능이면 됩니다.
또는
Jquery를 사용하여
var obj = jQuery.parseJSON( '{ "name": "Vinod" }' );
alert( obj.name === "Vinod" );
JSON.parse()
네 친구잖아다음은 예를 제시하겠습니다.
let obj = JSON.parse(yourString)
console.log(typeof obj); // prints 'object' assuming your string is correctly formatted
언급URL : https://stackoverflow.com/questions/10976897/converting-a-string-to-json-object
'programing' 카테고리의 다른 글
TypeScript의 "declare class"와 "interface"의 차이점은 무엇입니까? (0) | 2023.02.13 |
---|---|
MBean [HikariDataSource(HikariPool-0)]을(를) 키 '데이터소스'에 등록할 수 없습니다. (0) | 2023.02.13 |
전체 경로 제거, 파일 이름만 유지 (0) | 2023.02.09 |
wp미디어업로더를사용한업로드파일경로가필드에표시되지않았습니다. (0) | 2023.02.09 |
ORA-011033 해결 방법: ORACLE 초기화 또는 셧다운 진행 중 (0) | 2023.02.09 |