Reputation: 17
Showing:
Uncaught SyntaxError: Unexpected token u in JSON at position 0
Same code works fine on localhost.
Array just before parsing:
[{"id":"15","label":"Andhra Pradesh","parent_id":"14","super_parents":"*0*13*14*"},{"id":"13","label":"World","parent_id":"0","super_parents":"*0*"},{"id":"14","label":"India","parent_id":"13","super_parents":"*0*13*"},{"id":"50","label":"Alappuzha","parent_id":"27","super_parents":"*0*13*14*27*"},{"id":"64","label":"Chenganoor","parent_id":"50","super_parents":"*0*13*14*27*50*"},{"id":"71","label":"Puthanangadi ","parent_id":"70","super_parents":"*0*13*14*27*50*70*"},{"id":"16","label":"Arunachal Pradesh ","parent_id":"14","super_parents":"*0*13*14*"},{"id":"51","label":"Ernakulam","parent_id":"27","super_parents":"*0*13*14*27*"},{"id":"65","label":"Mavelikkara","parent_id":"50","super_parents":"*0*13*14*27*50*"},{"id":"17","label":"Assam","parent_id":"14","super_parents":"*0*13*14*"},{"id":"52","label":"\tIdukki","parent_id":"27","super_parents":"*0*13*14*27*"},{"id":"66","label":"Karthikappally","parent_id":"50","super_parents":"*0*13*14*27*50*"},{"id":"18","label":"Bihar","parent_id":"14","super_parents":"*0*13*14*"},{"id":"53","label":"Kannur","parent_id":"27","super_parents":"*0*13*14*27*"},{"id":"67","label":"Kuttanad","parent_id":"50","super_parents":"*0*13*14*27*50*"},{"id":"19","label":"Chhattisgarh","parent_id":"14","super_parents":"*0*13*14*"},{"id":"54","label":"Kasaragod","parent_id":"27","super_parents":"*0*13*14*27*"},{"id":"68","label":"Ambalappuzha","parent_id":"50","super_parents":"*0*13*14*27*50*"},{"id":"20","label":"Goa","parent_id":"14","super_parents":"*0*13*14*"},{"id":"55","label":"Kollam","parent_id":"27","super_parents":"*0*13*14*27*"},{"id":"69","label":"Cherthala","parent_id":"50","super_parents":"*0*13*14*27*50*"},{"id":"21","label":"Gujarat ","parent_id":"14","super_parents":"*0*13*14*"},{"id":"56","label":"Kottayam","parent_id":"27","super_parents":"*0*13*14*27*"},{"id":"70","label":"varanam","parent_id":"50","super_parents":"*0*13*14*27*50*"},{"id":"22","label":"Haryana","parent_id":"14","super_parents":"*0*13*14*"},{"id":"57","label":"Kozhikode","parent_id":"27","super_parents":"*0*13*14*27*"},{"id":"72","label":"Punnapra","parent_id":"50","super_parents":"*0*13*14*27*50*"},{"id":"23","label":"Himachal Pradesh ","parent_id":"14","super_parents":"*0*13*14*"},{"id":"58","label":"Malappuram","parent_id":"27","super_parents":"*0*13*14*27*"},{"id":"24","label":"Jammu & Kashmir","parent_id":"14","super_parents":"*0*13*14*"},{"id":"59","label":"Palakkad","parent_id":"27","super_parents":"*0*13*14*27*"},{"id":"25","label":"Jharkhand","parent_id":"14","super_parents":"*0*13*14*"},{"id":"60","label":"Pathanamthitta","parent_id":"27","super_parents":"*0*13*14*27*"},{"id":"26","label":"Karnataka","parent_id":"14","super_parents":"*0*13*14*"},{"id":"61","label":"Thiruvananthapuram","parent_id":"27","super_parents":"*0*13*14*27*"},{"id":"27","label":"Kerala","parent_id":"14","super_parents":"*0*13*14*"},{"id":"62","label":"Thrissur","parent_id":"27","super_parents":"*0*13*14*27*"},{"id":"28","label":"Madhya Pradesh","parent_id":"14","super_parents":"*0*13*14*"},{"id":"63","label":"Wayanad","parent_id":"27","super_parents":"*0*13*14*27*"},{"id":"29","label":"Maharashtra","parent_id":"14","super_parents":"*0*13*14*"},{"id":"30","label":"Manipur","parent_id":"14","super_parents":"*0*13*14*"},{"id":"31","label":"Meghalaya","parent_id":"14","super_parents":"*0*13*14*"},{"id":"32","label":"Mizoram","parent_id":"14","super_parents":"*0*13*14*"},{"id":"33","label":"Nagaland","parent_id":"14","super_parents":"*0*13*14*"},{"id":"34","label":"Odisha","parent_id":"14","super_parents":"*0*13*14*"},{"id":"35","label":"Punjab","parent_id":"14","super_parents":"*0*13*14*"},{"id":"36","label":"Rajasthan ","parent_id":"14","super_parents":"*0*13*14*"},{"id":"37","label":"Sikkim","parent_id":"14","super_parents":"*0*13*14*"},{"id":"38","label":"Tamil Nadu","parent_id":"14","super_parents":"*0*13*14*"},{"id":"39","label":"Telangana ","parent_id":"14","super_parents":"*0*13*14*"},{"id":"40","label":"Uttarakhand ","parent_id":"14","super_parents":"*0*13*14*"},{"id":"41","label":"Uttar Pradesh ","parent_id":"14","super_parents":"*0*13*14*"},{"id":"42","label":"West Bengal ","parent_id":"14","super_parents":"*0*13*14*"},{"id":"43","label":"Andaman and Nicobar Islands ","parent_id":"14","super_parents":"*0*13*14*"},{"id":"44","label":"Chandigarh ","parent_id":"14","super_parents":"*0*13*14*"},{"id":"45","label":"Delhi","parent_id":"14","super_parents":"*0*13*14*"},{"id":"46","label":"Dadra and Nagar Haveli","parent_id":"14","super_parents":"*0*13*14*"},{"id":"47","label":"Daman and Diu ","parent_id":"14","super_parents":"*0*13*14*"},{"id":"48","label":"Lakshadweep","parent_id":"14","super_parents":"*0*13*14*"},{"id":"49","label":"Puducherry","parent_id":"14","super_parents":"*0*13*14*"}]
Java Script code:
var arr = $(".Location_details").val();
arr = arr.replace(/\\n/g, "\\n")
.replace(/\\'/g, "\\'")
.replace(/\\"/g, '\\"')
.replace(/\\&/g, "\\&")
.replace(/\\r/g, "\\r")
.replace(/\\t/g, "\\t")
.replace(/\\b/g, "\\b")
.replace(/\\f/g, "\\f");
// remove non-printable and other non-valid JSON chars
arr = arr.replace(/[\u0000-\u001F]+/g, "");
console.log(arr);
var data = $.parseJSON(arr);
Upvotes: 0
Views: 1888
Reputation: 17
Extra space and new lines where the problem
When I place the encode JSON data on the hidden value there is some extra space and new line is mistakenly added with that data. but unfortunately when I use console.log(arr); to print the data that extra space is not noticed.
> <input type="hidden" value='<?php include_once("PhpClass/sql.php");
> $s = new sql(); $result = $s->select_all_sub_places(); $i = 1; while
> ($row = mysqli_fetch_array($result)) { $json[] = array( 'id' =>
> $row['place_id'], 'label' => $row['place_name'], 'parent_id' =>
> $row['parent_id'], 'super_parents' => $row['super_parents']); }echo
> json_encode($json); ?> ' class="Location_details">
so I replace that code to
<?php
include_once("PhpClass/sql.php");
$s = new sql();
$result = $s->select_all_sub_places();
$i = 1;
while ($row = mysqli_fetch_array($result)) {
$json[] =array('id' => $row['place_id'], 'label' => $row['place_name'], 'parent_id' => $row['parent_id'], 'super_parents' => $row['super_parents']);
}?>
<input type="hidden" value='<?php echo(json_encode($json));?>' class="Location_details">
A small request to the experts of stack overflow, before degrading a question, please make it sure that person is asking a valid question or not.
Upvotes: 1