[英]Converting a string to JSON object
你如何讓 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 字符串。
var obj = jQuery.parseJSON('{"name":"John"}');
alert( obj.name === "John" );
關聯:-
我對像你這樣的類似字符串也有同樣的問題
{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)
希望能幫助到你,
如果有人有更優雅的方法,請分享。
只需使用eval
函數。
var myJson = eval(theJsibStr);
使用 Object Mapper 將字符串轉換為 HashMap ...
new ObjectMapper().readValue(string, Map.class);
內部 Map 將表現為 JSON 對象
var Data=[{"id": "name2", "label": "Quantity"}]
將字符串變量傳遞給 Json parse :
Objdata= Json.parse(Data);
JSON.parse()
函數會做。
或者
使用 Jquery,
var obj = jQuery.parseJSON( '{ "name": "Vinod" }' );
alert( obj.name === "Vinod" );
讓我們考慮一下你有類似的字符串
示例: “姓名:露西,年齡:21,性別:女性”
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()
是你的朋友。 這是一個例子:
let obj = JSON.parse(yourString)
console.log(typeof obj); // prints 'object' assuming your string is correctly formatted
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.