1

Below is the response I am getting from one of my authentication API.

{"auth":"413e193fe7d10011230b:cea7abe015a6c8d2a78c8dbb48a21f769f65e79441809e918d6e7e98913aeca3","channel_data":"{\"user_id\":\"969696\",\"user_info\":{\"name\":\"Sandra Smith\"}}"}

I would like to get values user_id and user_info from the above response using jquery or javascript. How can I do that?

Hassan Imam
  • 21,956
  • 5
  • 41
  • 51
Katie Foster
  • 31
  • 1
  • 3

1 Answers1

1

You can use jQuery.parseJSON or JSON.parse

var json={"auth":"413e193fe7d10011230b:cea7abe015a6c8d2a78c8dbb48a21f769f65e79441809e918d6e7e98913aeca3","channel_data":"{\"user_id\":\"969696\",\"user_info\":{\"name\":\"Sandra Smith\"}}"};

//using javascript
var obj = JSON.parse(JSON.stringify(json));

var channel_dataObj= JSON.parse(obj.channel_data);
var user_id =channel_dataObj.user_id;

console.log(user_id);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Bharatsing Parmar
  • 2,435
  • 1
  • 9
  • 18
  • 3
    why jquery for this. Just use JSON.parse(some) – Arpit Solanki Jul 15 '17 at 12:41
  • This will not work as there is a nested JSON string you currently do not parse. – Sirko Jul 15 '17 at 12:44
  • I am getting error as SyntaxError: Unexpected token o in JSON at position 1 – Katie Foster Jul 15 '17 at 12:45
  • You can check updated answer – Bharatsing Parmar Jul 15 '17 at 12:47
  • Getting error as TypeError: Cannot read property 'user_id' of undefined – Katie Foster Jul 15 '17 at 12:50
  • 2
    you can simply do JSON.parse(obj.channel_data), then assign it to variable, there you can take user_id and user_info – xird Jul 15 '17 at 12:51
  • You can check I have added code snippet – Bharatsing Parmar Jul 15 '17 at 12:52
  • @BharatsingParmar, I used your code, I am getting error as TypeError: Cannot read property 'user_id' of null. My Code is as follows: ` var obj = jQuery.parseJSON(JSON.stringify(member)); var channel_dataObj = JSON.parse(obj.channel_data); var user_id = channel_dataObj.user_id;` – Katie Foster Jul 15 '17 at 13:00
  • have you checked and run code snippet? Its working fine. Please check answer and implement it accordingly – Bharatsing Parmar Jul 15 '17 at 13:01
  • @BharatsingParmar, Yes your code is perfect but when I try to access the user_id in my function, I am getting error as **SyntaxError: Unexpected token u in JSON at position 0** `function addUser(member) { var json = member; //Response from api //Using jQuery var obj = jQuery.parseJSON(JSON.stringify(json)); //OR //using javascript var obj = JSON.parse(JSON.stringify(json)); var channel_dataObj= JSON.parse(obj.channel_data); var user_id =channel_dataObj.user_id; alert('Online'+user_id);` } – Katie Foster Jul 15 '17 at 13:06