2017-11-28 13 views
5

Tôi đã thấy các loại câu hỏi này và đã thử các giải pháp nhưng không hoạt động.JSON.Parse Hiển thị lỗi tại vị trí 0 trong khi phân tích chuỗi thành JSOn trong Faker.js

Tôi gửi một mảng từ giao diện người dùng với bộ điều khiển, ở đó tôi có tham khảo cho faker.js trong Node.js

Mã của tôi trong bộ điều khiển:

var FirstName = req.body;     // req.body has array 
console.log(FirstName);      // **Prints** { FirstName: 'faker.name.firstName()' } 
const User = FirstName;      // Didnt work because faker.name.firstName is as string 
const Usercheck = JSON.stringify(GettingData[0]); 
var response = Usercheck.replace(/['"]+/g,'') 
console.log(response);      // Here it removed the quotations but took total as string. "{ FirstName: faker.name.firstName()}" 
JSON.parse(response);  // Tried to parse string as JSON but this shows the error at position 0 

Mã dự kiến ​​để làm việc trong Faker.js là

const User = { FirstName: faker.name.firstName() } // Hard code and run this it is working fine 

Cách tiếp cận điều này.

+0

'faker.name.firstName' là một hàm và cần được đánh giá –

+0

@ GrégoryBourgin có đó là điều nếu tôi nhận được mà không có dấu nháy đơn (') nó sẽ hoạt động. Mảng có thể vẫn còn nhiều trường như họ, v.v., –

Trả lời

0

JSON.stringify bổ sung thêm "xung quanh tất cả các phím, bạn không thể xóa chúng với Usercheck.replace (/ [ '"] +/g, '') nếu không bạn không thể phân tích nó:

var a = JSON.stringify({e:5}) 
console.log(a) // {"e":5} 

JSON.parse(a); // ok 
JSON.parse("{e:5}"); // nok 
+0

ở đây không có số nào cả trong các ký tự (chuỗi). Ở đây định dạng mong muốn là {e: sdfsfd} nhưng tôi có dạng {e: 'sdfsfd'} –

+0

Chúng tôi không quan tâm đến giá trị, những gì tôi cố gắng giải thích cho bạn nếu bạn loại bỏ "xung quanh KEY trong trường hợp của bạn "FirstName", bạn sẽ không thể phân tích chuỗi cuz nó sẽ không phải là một JSON hợp lệ nữa.Ngoài ra bạn không thể lưu trữ faker.name.firstName() trong giá trị, bạn lưu trữ kết quả của cuộc gọi này – Dafuck

+0

ok –

Các vấn đề liên quan