Convert string to JSON array
Here you get JSONObject so change this line:
JSONArray jsonArray = new JSONArray(readlocationFeed);
with following:
JSONObject jsnobject = new JSONObject(readlocationFeed);
and after
JSONArray jsonArray = jsnobject.getJSONArray("locations");
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject explrObject = jsonArray.getJSONObject(i);
}
Convert array to JSON
Script for backward-compatibility:
https://github.com/douglascrockford/JSON-js/blob/master/json2.js
And call:
var myJsonString = JSON.stringify(yourArray);
Note: The JSON object is now part of most modern web browsers (IE 8 & above). See caniuse for full listing. Credit goes to: @Spudley for his comment below
SimpleJson: String to JSONArray
JSONParser parser = new JSONParser();
JSONArray array = (JSONArray)parser.parse("[{\"user_id\": 1}]");
System.out.println(((JSONObject)array.get(0)).get("user_id"));
You need to cast to a JSONArray as that is what the string contains.
String to JSON Array
You just need to run this through JSON.parse()
, which is supported by almost all the JavaScript parsers:
console.log(JSON.parse(`[ [32.361346650846805,50.90932315437885], [32.36743646734031,50.95189517586323], [32.35467638118774,50.95876163094135], [32.342494619322636,50.904516635824166], [32.36279664436138,50.90039676277729], [32.380194752587755,50.899023471761666], [32.3648265962154,50.91481631844135], [32.361346650846805,50.90932315437885]]`));
Converting from a String to JSONArray
Just add a square bracket to the start and end of the String, and then try to convert it to JSONArray.
"data": [
{
"prop": "[{\"Name\":\"StockoutTransferDate\",\"Description\":\"$\",\"NominalValue\":{\"type\":\"IFCTEXT\",\"value\":\"\"},\"Unit\":\"$\"},{\"Name\":\"LoadBearing\",\"Description\":\"$\",\"NominalValue\":{\"type\":\"IFCBOOLEAN\",\"value\":true},\"Unit\":\"$\"},{\"Name\":\"StockoutDeliveryDate\",\"Description\":\"$\",\"NominalValue\":{\"type\":\"IFCTEXT\",\"value\":\"\"},\"Unit\":\"$\"},{\"Name\":\"Status\",\"Description\":\"$\",\"NominalValue\":{\"type\":\"IFCTEXT\",\"value\":\"OnTransport\"},\"Unit\":\"$\"},{\"Name\":\"Tracked\",\"Description\":\"$\",\"NominalValue\":{\"type\":\"IFCTEXT\",\"value\":\"true\"},\"Unit\":\"$\"},{\"Name\":\"StockoutReturnDate\",\"Description\":\"$\",\"NominalValue\":{\"type\":\"IFCTEXT\",\"value\":\"\"},\"Unit\":\"$\"},{\"Name\":\"IsExternal\",\"Description\":\"$\",\"NominalValue\":{\"type\":\"IFCBOOLEAN\",\"value\":false},\"Unit\":\"$\"},{\"Name\":\"PlannedStockoutDeliveryDate\",\"Description\":\"$\",\"NominalValue\":{\"type\":\"IFCTEXT\",\"value\":\"10-03-2019\"},\"Unit\":\"$\"},{\"Name\":\"StockinReturnLocation\",\"Description\":\"$\",\"NominalValue\":{\"type\":\"IFCTEXT\",\"value\":\"\"},\"Unit\":\"$\"},{\"Name\":\"PlannedAssemblyDate\",\"Description\":\"$\",\"NominalValue\":{\"type\":\"IFCTEXT\",\"value\":\"27-04-2019\"},\"Unit\":\"$\"},{\"Name\":\"StockoutTransferLocation\",\"Description\":\"$\",\"NominalValue\":{\"type\":\"IFCTEXT\",\"value\":\"\"},\"Unit\":\"$\"},{\"Name\":\"StockinReturnDate\",\"Description\":\"$\",\"NominalValue\":{\"type\":\"IFCTEXT\",\"value\":\"\"},\"Unit\":\"$\"},{\"Name\":\"FabricatedLocation\",\"Description\":\"$\",\"NominalValue\":{\"type\":\"IFCTEXT\",\"value\":\"\"},\"Unit\":\"$\"},{\"Name\":\"StockinArrivalLocation\",\"Description\":\"$\",\"NominalValue\":{\"type\":\"IFCTEXT\",\"value\":\"\"},\"Unit\":\"$\"},{\"Name\":\"StockinTransferDate\",\"Description\":\"$\",\"NominalValue\":{\"type\":\"IFCTEXT\",\"value\":\"\"},\"Unit\":\"$\"},{\"Name\":\"Reference\",\"Description\":\"$\",\"NominalValue\":{\"type\":\"IFCIDENTIFIER\",\"value\":\"300 x 350\"},\"Unit\":\"$\"},{\"Name\":\"PlannedStockinArrivalDate\",\"Description\":\"$\",\"NominalValue\":{\"type\":\"IFCTEXT\",\"value\":\"11-03-2019\"},\"Unit\":\"$\"},{\"Name\":\"PlannedFabricatedDate\",\"Description\":\"$\",\"NominalValue\":{\"type\":\"IFCTEXT\",\"value\":\"01-03-2019\"},\"Unit\":\"$\"},{\"Name\":\"AssemblyDate\",\"Description\":\"$\",\"NominalValue\":{\"type\":\"IFCTEXT\",\"value\":\"\"},\"Unit\":\"$\"},{\"Name\":\"Slope\",\"Description\":\"$\",\"NominalValue\":{\"type\":\"IFCPLANEANGLEMEASURE\",\"value\":\"0\",\"orig_value\":\"0.\"},\"Unit\":\"$\"},{\"Name\":\"FabricatedDate\",\"Description\":\"$\",\"NominalValue\":{\"type\":\"IFCTEXT\",\"value\":\"\"},\"Unit\":\"$\"},{\"Name\":\"StockoutReturnLocation\",\"Description\":\"$\",\"NominalValue\":{\"type\":\"IFCTEXT\",\"value\":\"\"},\"Unit\":\"$\"},{\"Name\":\"Span\",\"Description\":\"$\",\"NominalValue\":{\"type\":\"IFCPOSITIVELENGTHMEASURE\",\"value\":\"4750\",\"orig_value\":\"4750.\"},\"Unit\":\"$\"},{\"Name\":\"StockinArrivalDate\",\"Description\":\"$\",\"NominalValue\":{\"type\":\"IFCTEXT\",\"value\":\"\"},\"Unit\":\"$\"},{\"Name\":\"StockoutDeliveryLocation\",\"Description\":\"$\",\"NominalValue\":{\"type\":\"IFCTEXT\",\"value\":\"\"},\"Unit\":\"$\"},{\"Name\":\"Status\",\"Description\":\"$\",\"NominalValue\":{\"type\":\"IFCTEXT\",\"value\":\"Assembled\"},\"Unit\":\"$\"}]"
}
],
How to convert array of strings into JSON object?
use Object.fromEntries
to construct an object out of your array elements after splitting them using :
seperator:
let data = [
"filter1:value",
"filter2:value"
]
let result = Object.fromEntries(data.map(e => e.split(":")))
console.log(result)
javascript - convert string to json array
@sumit
please take a look at this solution.
let dataString=`{"id":"1","obj1":"191.25","obj2":"11.81","obj3":"3.44","obj4":"15.62"}
{"id":"2","obj1":"642.00","obj2":"4.33","obj3":"0.00","obj4":"11.33"}
{"id":"3","obj1":"153.76","obj2":"94.77","obj3":"16.80","obj4":"29.79"}
{"id":"4","obj1":"61.71","obj2":"0.43","obj3":"0.00","obj4":"8.14"}
{"id":"5","obj1":"194.33","obj2":"108.89","obj3":"14.13","obj4":"168.60"}
{"id":"6","obj1":"204.31","obj2":"137.41","obj3":"34.76","obj4":"193.16"}
{"id":"7","obj1":"199.53","obj2":"34.53","obj3":"16.29","obj4":"26.56"}
{"id":"8","obj1":"77.33","obj2":"5.00","obj3":"12.50","obj4":"0.00"}
{"id":"9","obj1":"128.54","obj2":"101.60","obj3":"15.76","obj4":"46.23"}
{"id":"10","obj1":"107.00","obj2":"116.67","obj3":"34.42","obj4":"8.75"}
{"id":"12","obj1":"206.05","obj2":"155.03","obj3":"36.96","obj4":"148.99"}
{"id":"13","obj1":"133.93","obj2":"142.79","obj3":"39.91","obj4":"98.30"}`;
let dataArray = dataString.match(/{(?:[^{}]*|(R))*}/g);
dataArray = dataArray.map(d=> JSON.parse(d));
console.log(dataArray);
Related Topics
What Are the Pros and Cons of the Leading Java HTML Parsers
How to Call a Soap Web Service on Android
How to Return a Boolean from Asynctask
Android: Internet Connectivity Change Listener
How to Deal With Linkageerrors in Java
What Issues Should Be Considered When Overriding Equals and Hashcode in Java
Calling Awt Frame Methods from Subclass
What Are the -Xms and -Xmx Parameters When Starting Jvm
Why Can't I Use Switch Statement on a String
Converting HTML to Pdf Using Itext
Create a File from a Photo Uri on Android
Custom Fonts and Xml Layouts (Android)
Parsing Query Strings on Android
What Does "Could Not Find or Load Main Class" Mean