php
  • python
  • json
  • string
  • 2016-12-28 1 views -1 likes 
    -1

    PHP 또는 Python을 사용하여 객체를 설명하는 문자열을 JSON 문자열로 변환하려면 어떻게해야합니까?not-JSON 문자열을 JSON으로 변환

    예컨대이에

    var str = "{ hello: 'world', places: ['Africa', 'America', 'Asia', 'Australia'] }" 
    

    :

    str = '{ "hello": "world", "places": ["Africa", "America", "Asia", "Australia"] }' 
    

    내가 평가() 가능하면 사용하지 않는 것이 사랑이 (NOT 유효한 JSON 문자열)로 변환합니다. 정규식의

    +0

    더 나은 새로운 배열을 생성하고 HIC는 PHP 나 파이썬 –

    답변

    4

    몇 가지 작업을 수행해야 바꿉니다이다

    var str = "{ hello: 'world', places: ['Africa', 'America', 'Asia', 'Australia'] }"; 
     
    
     
    var json = str.replace(/(\w+):/g, '"$1":') 
     
           .replace(/'/g, '"'); 
     
    
     
    console.log(json);

    가 먼저 콜론 (/(\w+):/g) 다음에 하나 개 이상의 단어 문자의 인스턴스를 교체, 모든 작은 따옴표를 double로 변경하십시오.

    +0

    에 PHP에이 기능이 배열을 변경하거나 파이썬,하지만 난 둘 다 당신이 정규식 기반 교체의 동등한 커플을 할 것이라고 생각합니다. JavaScript를 원하지 않는다면 왜 "JavaScript"로 질문에 태그를 붙였습니까? –

    +0

    에 아니, 미안 해요, 난 정말 PHP를하지 않는 저를 도와주세요 json으로로 json_encode – nnnnnn

    0

    python3

    import re 
    
    s = "{ hello: 'world', places: ['Africa', 'America', 'Asia', 'Australia'] }" 
    # ' => " 
    s = re.sub(r"'", '"', s) # or s = s.replace("'",'"') 
    # key: => "key": 
    s = re.sub(r'(\w+):', '"\g<1>":', s) 
    print(s) 
    # { "hello": "world", "places": ["Africa", "America", "Asia", "Australia"] } 
    
    관련 문제